달력

2

« 2025/2 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
2011. 12. 8. 15:38

Bundle jar파일로 만들기 OSGi 이야기2011. 12. 8. 15:38

이클립스에 export해서 jar파일 만들면 classpath가 잘못되어 있어서 그런지 path를 찾지 못한다. <-- 이것만 해결하면 편할텐데

그래서 그냥 console에서 컴파일하고, jar파일 만들어서 올렸다...ㅠㅠ

이클립스에서 플러그인 프로젝트 생성하였다. 
package 구문 지우고, equinox.jar이 있는 곳으로 MANIFEST.MF, equinox.jar를 옮겨놓는다.

--이클립스에 자동으로 만들어주는 MANIFEST.MF
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HooneyFelix
Bundle-SymbolicName: hooneyFelix
Bundle-Version: 1.0.0.qualifier
Bundle-Activator: hooneyfelix.Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version="1.3.0"

-- 수정된 MANIFEST.MF
 
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: HooneyFelix
Bundle-SymbolicName: HooneyFelix
Bundle-Version: 1.0.0
Bundle-Activator: Activator
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version="1.3.0"

javac -classpath equinox.jar Activator.java 
-  equinox.jar은 org.eclipse.equniox.[ver].jar를 간단하게 재명명한 것
-  Activator.java는 작성한것 bundle 파일

컴파일하고 jar파일로 만든다.
jar -cfm MyActivator.jar MANIFEST.MF Activator.class

생성된 jar파일을 eqinox 프레임웍에서 돌려본다.
성공!

생성된 jar파일을 felix에서 돌려본다. 
 으악 실패
왜?
MANIFEST.MF의 activator속성의 값이 잘못 설정되어있다.
패키지명.클래스파일명

나는 여기서 패키지를 사용하지 않았으므로, 패키지명을 지운당.
또한, 버전이 이상하다고 한다. quailxx를 지운다. 버전숫자만 나오게
Name하고, SymbolicName하고 이름이 같아야 할 수도... 정확하지 않음
그다음에 올리면 성공!
 

'OSGi 이야기' 카테고리의 다른 글

OSGI_ANDROID  (0) 2011.12.20
android에 osgi 올리기  (0) 2011.12.08
OSGi & Spring DM  (0) 2011.12.01
OSGi 콘솔  (0) 2011.11.15
HTTP Service  (0) 2011.11.14
:
Posted by НooпeУ


Code Start Code End