2014-02-11 1 views
0

현재 eclipse가 매니페스트에 지정된 플러그인 종속성을 해결할 수없는 문제에 직면하고 있습니다.Eclipse에서 종속 번들을 열거 나 가져 오지 않고 OSGi 번들을 개발하는 방법은 무엇입니까?

2 개의 플러그인을 통해 내 문제를 일반화시켜 드리겠습니다. 하나의 플러그인이 핵심 플러그인 "com.mycompany.core"이고 다른 플러그인이 멋진 플러그인 "com.mycompany.fancy"라고 가정 해보십시오.

플러그인 com.mycompany.core 다른 팀에 의해 소유 한 플러그인 및 그룹 ID가 "com.example"

내 팀 com.mycompany.fancy을 소유에서, 내 회사의 받는다는 저장소에 배포됩니다. 이 플러그인은 플러그인 "com.mycompany.core"에 종속됩니다.

간단히하기 위해이 플러그인을 각각 "멋진"및 "핵심"이라고 부릅시다.

Eclipse IDE에서 "멋진"플러그인으로 작업하고 싶습니다.

현재 팬티 플러그인의 pom 파일에는 의존성 섹션의 "core"플러그인에 대한 명시 적 종속성이 있습니다. .classpath와 .project를 " 공상 :에 지정된 핵심 "플러그인" MVN 이클립스를 사용하여 플러그인

이클립스 이클립스 IDE에서 멋진 플러그인 생성 된 프로젝트를 가져온 후에, 나는 일식이에 의존성을 해결할 수없는 것을 볼 "의 Manifest 파일. Eclipse에서 "번들 'com.mycompany.core'을 해결할 수 없음을보고합니다. "멋진"프로젝트의 참조 된 라이브러리에서 Eclipse가 "핵심"플러그인을 나열하는 것을 봅니다. 코어 플러그인 jar의 위치는 C : \ mvn_repo \ com \ example \ com.mycompany.core \ 1.0.0 \ com.mycompany.core-1.0.0.jar입니다. "코어"플러그인 항아리가있는 위치입니다 maven에 배포되며이 위치는 내 컴퓨터의 유효한 위치입니다.

가 나는 또한 "공상"에 대한 생성 된 .classpath 파일이

그러나 다음과 같은 항목이 것을 볼, 일식 "공상"의 매니페스트에 플러그인 "코어"에 대한 종속성 항목을 확인할 수없는 .

명령 줄에서 아무런 문제가 없습니다. 그러나, 일식에 오류가 있다는 사실은 우리가 일식에서 무엇이든지 발사/달리기가 불가능하다는 것을 의미합니다. 이것은 우리를위한 쇼 스토퍼입니다.

누구든지이 문제를 해결하는 방법이나 .classpath 파일에서 해당 위치로 지정된 번들을 인식하도록 Eclipse를 수행하는 방법을 알고 있습니까?

답변

1

Tycho 빌드와 IDE 작업 공간 모두에서 사용할 수있는 Target Platform을 정의해야합니다. 번들/플러그인 개발을위한 Eclipse의 기본 동작은 실행중인 IDE를 대상 플랫폼으로 사용하는 것입니다.하지만 이는 거의 모든 "실제"프로젝트에 대해 매우 나쁜 생각이기 때문에 불행한 기본 설정입니다. 대신 의존성을 정확하게 지정하는 특정 TP를 사용해야하며 use that same target definition in Tycho, too입니다.

+0

안녕 E-Riz- 답장을 보내 주셔서 감사합니다. 이 접근 방식은 나를 위해 일했습니다.내 작업 공간 플러그인이 의존하는 플러그인을 포함 할 디렉토리를 포함하도록 대상 플랫폼을 편집하면 트릭을 만들 수 있습니다. 다음 링크도 도움이되었습니다. http://eclipse-debug.blogspot.com/2010/09/what-is-target-platform.html – user1411252

+0

도와 줘서 기쁩니다. 질문에 답한 경우 답변을 수락하십시오 (http://meta.stackoverflow.com/help/someone-answers 참조). –

0

번들 관리를 선언 할 때 maven 범위 설정을 살펴보십시오. 나는 당신이 RUNTIME을 찾고 있다고 생각합니다.

관련 문제