2011-12-05 4 views
8

이클립스 플러그인을 만들고 있는데 외부 jar에 문제가 있습니다. 내 플러그인에서는 몇 가지 외부 항아리가 필요한 애플리케이션을 시작한다. 나머지 플러그 - 인과 함께 자동으로 내보내려면 어떻게해야합니까?이클립스 플러그인의 외부 jar

미리 감사드립니다.

답변

13
  1. Runtime 탭에 plugin.xml
  2. 이동을 열고 클래스 경로 섹션
+2

자세한 내용 pls – eactor

+2

** 중요 : ** 포함 된 폴더 만 추가하는 것만으로는 충분하지 않습니다. 또한 플러그인의 프로젝트 설정 (MANIFEST/plugin.xml 대신)에 종속성을 추가하면 컴파일시 오류를 "숨길"뿐입니다. –

+0

이것은 현재 프로젝트의 jar 파일 만 추가합니다. 외부 항아리 (디스크의 어딘가에 위치)를 추가 할 수는 없지만 이동식이 아닌 경우 필요할 때 필요할 수 있습니다. – ACV

8

추가 플러그인을 만들지 만 이것은 쉬운 방법입니다. 이클립스에서

:

  • New>Other 다음 Plug-in Development>Plug-in from existing JAR archives 선택합니다.
  • 포함 할 병을 선택하십시오.
  • 다음 페이지에서 플러그인을 구성하십시오.
  • 플러그인의 매니페스트에서 새 플러그인을 종속성으로 추가하십시오.
  • 플러그인의 속성에서 Projects 탭의 에 새 프로젝트를 추가하십시오.

편집 : 대신 아래 Zsolt 및 user714965의 모두 제안을 결합하여 플러그인에 항아리를 결합 할 수 있습니다. 다음 단계에 따라

+2

여러 jar를 결합하는 경우 라이센스가 허용되는지 확인해야합니다. –

10

, 외부 JAR 파일이 포함됩니다 당신은 당신의 플러그인을 내보낼 때 :

  1. 복사 필요한 외부 JAR 파일을 플러그인 프로젝트의 폴더에; 나는이 폴더를 lib이라고 부르지 만, 무엇이든지 당신을 위해 일합니다.
  2. 플러그인 프로젝트에서 build.properties을 열고 왼쪽의 이진 빌드 섹션에 빌드에 포함 할 JAR를 확인하십시오.
+1

동일한 번들에서 jar를 결합하는 것이 가능하지만, OSGi 환경에서이를 수행하는 '적절한'방법은 아닙니다. - http://stackoverflow.com/questions/3013583/what-is-the-standard-way- to-bundle-osgi-dependent-libraries/3015072 # 3015072 – Robin

+1

@Robin 물론, 위에서 설명한 것은 당면한 문제에 대한 빠르고 더러운 해결책이었습니다. –

4

이 나를 위해 일했다 무엇에 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)으로되어 있고 환경을 다시 제어하는 ​​곳에서이 작업을 수행했습니다.

참조 다음 http://www.eclipsezone.com/eclipse/forums/t51870.html

+0

감사합니다 !!! 이것은 실제 답변이며 작동합니다!. '* .jar'는 작동하지 않습니다. – ACV

1
  1. 복사 플러그인 프로젝트의 폴더에 필요한 외부 JAR 파일; 나는이 폴더를 lib라고 부르는 것을 좋아하지만, 무엇이든지 당신을 위해 일합니다.
  2. .. 그러나 Zsolt Török (그의 솔루션은 나를 위해 작동하지 않았다.)에 apposed되었다. 나는 plugin.xml을 더블 클릭하고, 아래쪽의 빌드 탭으로 가서, Add JARs ...를 클릭했다. 프레스토, 내 프로젝트를 보였고, 그때 앤디 토마스 접근 방식은 대부분 작동 1.
0

단계에 따라, 외부 항아리에서는 lib 탐색 및 포함,하지만 당신은 또한 기존에 필요한 패키지를 내 보내야합니다 플러그인을 런타임시 플러그인이 액세스 할 수 있도록 새 래퍼 플러그인에 추가하십시오.

+0

이 답변은 코멘트에 더 적합합니다. 또한 SO에 오신 것을 환영합니다 :). –

관련 문제