이클립스 플러그인을 만들고 있는데 외부 jar에 문제가 있습니다. 내 플러그인에서는 몇 가지 외부 항아리가 필요한 애플리케이션을 시작한다. 나머지 플러그 - 인과 함께 자동으로 내보내려면 어떻게해야합니까?이클립스 플러그인의 외부 jar
미리 감사드립니다.
이클립스 플러그인을 만들고 있는데 외부 jar에 문제가 있습니다. 내 플러그인에서는 몇 가지 외부 항아리가 필요한 애플리케이션을 시작한다. 나머지 플러그 - 인과 함께 자동으로 내보내려면 어떻게해야합니까?이클립스 플러그인의 외부 jar
미리 감사드립니다.
Runtime
탭에 plugin.xml
추가 플러그인을 만들지 만 이것은 쉬운 방법입니다. 이클립스에서
:
New>Other
다음 Plug-in Development>Plug-in from existing JAR archives
선택합니다.Projects
탭의 에 새 프로젝트를 추가하십시오.편집 : 대신 아래 Zsolt 및 user714965의 모두 제안을 결합하여 플러그인에 항아리를 결합 할 수 있습니다. 다음 단계에 따라
여러 jar를 결합하는 경우 라이센스가 허용되는지 확인해야합니다. –
, 외부 JAR 파일이 포함됩니다 당신은 당신의 플러그인을 내보낼 때 :
lib
이라고 부르지 만, 무엇이든지 당신을 위해 일합니다.build.properties
을 열고 왼쪽의 이진 빌드 섹션에 빌드에 포함 할 JAR를 확인하십시오.동일한 번들에서 jar를 결합하는 것이 가능하지만, OSGi 환경에서이를 수행하는 '적절한'방법은 아닙니다. - http://stackoverflow.com/questions/3013583/what-is-the-standard-way- to-bundle-osgi-dependent-libraries/3015072 # 3015072 – Robin
@Robin 물론, 위에서 설명한 것은 당면한 문제에 대한 빠르고 더러운 해결책이었습니다. –
이 나를 위해 일했다 무엇에 JAR을 추가합니다. 그들이 정말로 외부적이고, 이것이 "와일드"상태가 아니며 환경을 제어 할 회사를위한 프로젝트라면 파일 시스템에서/opt/java/lib/somedir /some.jar MANAEST.MF의 Bundle-ClassPath 항목에 META-INF 아래에 추가하여 찾을 위치를 번들에 알릴 수 있습니다. 구문은 다음과 같습니다 번들 - 클래스 경로 :., 외부 : /opt/java/lib/somedir/some.jar, 외부 : 또한
이 될 것이라고 /opt/java/lib/someotherdir/someother.jar 빌드 경로에서 이들을 사용하여 빌드 및 런타임 환경에서 동일한 병으로 작업 할 때 신중해야합니다.
파일 시스템에서 Jars가 다목적 (예 : apache-commons)으로되어 있고 환경을 다시 제어하는 곳에서이 작업을 수행했습니다.
감사합니다 !!! 이것은 실제 답변이며 작동합니다!. '* .jar'는 작동하지 않습니다. – ACV
단계에 따라, 외부 항아리에서는 lib 탐색 및 포함,하지만 당신은 또한 기존에 필요한 패키지를 내 보내야합니다 플러그인을 런타임시 플러그인이 액세스 할 수 있도록 새 래퍼 플러그인에 추가하십시오.
이 답변은 코멘트에 더 적합합니다. 또한 SO에 오신 것을 환영합니다 :). –
자세한 내용 pls – eactor
** 중요 : ** 포함 된 폴더 만 추가하는 것만으로는 충분하지 않습니다. 또한 플러그인의 프로젝트 설정 (MANIFEST/plugin.xml 대신)에 종속성을 추가하면 컴파일시 오류를 "숨길"뿐입니다. –
이것은 현재 프로젝트의 jar 파일 만 추가합니다. 외부 항아리 (디스크의 어딘가에 위치)를 추가 할 수는 없지만 이동식이 아닌 경우 필요할 때 필요할 수 있습니다. – ACV