2013-08-20 2 views
3

이클립스 플러그인 클래스 폴더에서 클래스

내가 이클립스 플러그인을 개발하고 있어요을 찾아 내 프로젝트에 lib/ 폴더에 넣어 한 몇 가지 미리 컴파일 된 클래스를 사용할 수 없습니다 (그래서 디렉토리 구조는 {proj_root}/lib/com/example/Required.class 모양). 그런 다음 프로젝트의 빌드 경로에 클래스 폴더로 lib/ 폴더를 추가했습니다. 빌드시 모든 것이 잘 작동하고, 코드를 가져 와서 코드에서 사용할 수 있습니다. 그리고 지금 문제는 플러그인을 별도의 Eclipse 인스턴스에서 실행할 때 플러그인이 ClassNotFoundException이되어 미리 컴파일 된 클래스 폴더에서 클래스를 참조한다는 것입니다.

빌드 경로 설정에서 "주문 및 내보내기"탭에서 내 클래스 폴더 지정을 시도했습니다. 또한 이진 빌드에 포함될 lib/ 폴더 앞에있는 플러그인의 build.properties GUI 편집기에서 확인란을 설정해 보았습니다. 이 경우 내 플러그인을 JAR로 내 보내면 내 클래스 파일과 함께 lib/ 폴더를 볼 수 있지만 런타임에 내 플러그인은 여전히 ​​lib/에서 클래스를 찾을 수 없습니다.

Eclipse에 런타임에 클래스를 어디에서 찾을 수 있는지 알려줘 주시겠습니까?
PS :

  1. 나는이 문제에 유래에 대한 연구를했지만 모든 제안은 동일합니다 : 단지 프로젝트의 빌드 경로에 클래스 폴더를 추가 할 수 있습니다.
  2. 이 플러그인의 build.properties 텍스트 편집기에서 이클립스는 경고 The class folder 'lib/' is not associated to any output library entry.을 표시하고 코드 수정을 제안합니다 ( output.. = bin/,lib/). 그 해결책을 시도했지만 문제가있는 것으로 변한 것 같지 않습니다.
+0

걸릴 jar 파일에 필요한 클래스 파일이 포함되어 있는지 확인하십시오. –

+0

내가 말했듯이 클래스 파일 (lib/폴더 아래, 플러그인 "JAR"의 루트에 저장되어있는 "my"클래스가 아닙니다)을 포함하고 있습니다 만, 런타임에는 런타임 파일을 찾을 수 없습니다. – xmichael91

답변

7

플러그인 프로젝트의 "Java Build Path"속성 페이지에 lib 폴더를 추가 한 것처럼 들립니다. 이 이러한대로 작동하지 않습니다 플러그인 프로젝트에 대한

하지만 ...은,은 OSGi 번들입니다 - 당신은 "런타임"페이지에서 PDE 편집기에서 lib 폴더를 포함해야합니다

Classpath description for OSGi

+0

오, 죄송합니다. 이전에 언급 한 내용에 대해 신중하게주의를 기울이지 않았으며 PDE (plugin.xml) 편집기가 아닌 build.properties 편집기에서 라이브러리를 추가하려고했습니다. 도움을 주셔서 감사합니다. – xmichael91

관련 문제