Java 응용 프로그램과 RCP 응용 프로그램간에 공통 코드가 있습니다.OSGI 번들을 기본 jar로 실행하면 NoClassDefFoundError
이- 메인 클래스가 나는 티코 모든를 구축
내 RCP 응용 프로그램에서 사용하는 고전 항아리
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Main-Class: mygroupid.Main
Bundle-Name: Common tools
Bundle-SymbolicName: common-tools
Bundle-Version: 1.0.1.qualifier
Export-Package: mygroupid,
mygroupid.tools
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Import-Package: org.osgi.framework;version="1.3.0"
Require-Bundle: com.jcraft.jsch;bundle-version="0.1.46"
나는 티코 내 RCP 응용 프로그램을 구축하고 그것을 작동 :
나는 내가 내 MANIFEST.MF에 jsch 추가해야 jsch 사용해야합니다. 이클립스 내 번들을 내보내는 경우
Exception in thread "main" java.lang.NoClassDefFoundError: com/jcraft/jsch/JSchException
이 작동 : 나는 java -jar myjar.jar
순수 JAR로 번들을 실행할 때, 나는 다음과 같은 오류가 발생합니다. 그래서 나는 타이코 구성에 오류가 있습니다 ...
어떻게이 문제를 해결할 수 있습니까? Tycho에 jar-with-dependencies가 있습니까? 그것은 사실이 아닌 것 같습니다. 내가 놓친 것은 무엇입니까?
(내 구성 : m2e와 이클립스 주노, 티코 0.16.0, P2 : 주노, 티코 : 포장> 이클립스 플러그인, 대상 플랫폼 구성 : 리졸버 = P2와 pomDependencies = 고려.)
예, 클래스 경로를 알고 있습니다. Eclipse에서 할 수있는 것처럼 완전한 OSGI 번들이 필요합니다. 커맨드 라인 버전에 하나의 jar 파일 만 배포하고 싶습니다. Tycho와 함께 구축하는 방법? – cswormy
생성 한 Eclipse 내보내기로 작성한 MANIFEST.MF를 비교해 볼 수 있습니다. – Weibo