2011-03-04 9 views
1

저는 이클립스 플러그인을 작성하고 있습니다. 이 플러그인은 몇 개의 로컬 jar 파일을 사용하며 추가적으로 다른 플러그인에 대한 종속성을 가지고 있습니다.내 플러그인에 플러그인 종속성을 추가하면 기존의 비 플러그인 라이브러리가 깨집니다 (Google Data API)

jar 파일의 Google 코드 검색 API를 사용하고 있습니다. 정상적으로 작동합니다. 내 프로젝트에 플러그인 종속성 org.eclipse.zest.dot.ui을 추가 한 후하지만, 구글 코드 검색 API는 더 이상 작동하지 않습니다 - 나는 다음과 같은 런타임 오류 받고 있어요 new CodeSearchService("my_ID")를 호출에 :

Analysis failed: java.lang.NoSuchMethodError exception raised.

com.google.common.collect.ImmutableSet.buider()Lcom/google/common/collect/ImmutableSet$Builder;

을 나는주의 깊게 확인하고 재현 플러그인이 종속성 목록에 나타나면 CodeSearchService을 더 이상 사용할 수 없습니다. 그렇지 않으면 완벽하게 작동합니다. 실제 프로젝트 코드는 변경되지 않고 종속성 만 추가됩니다.

이것은 플러그인 종속성을 추가하면 갑자기 일부 메소드가 사라지는 방법을 알 수 없기 때문에 나에게는 매우 이상합니다. 비슷한 문제가 발생한 사람이 있습니까?이 문제와 해결 방법에 대한 의견을 공유 할 수 있습니까? 이 문제가이 두 라이브러리에만 해당되는지 여부는 확실하지 않습니다.

답변

1

org.eclipse.zest.dot.ui 번들은 Google Collections에 의존하는 종속성을 가지고 있으므로 Google 코드 검색 API에 다른 버전이 필요하며 다른 버전을 사용하려고합니다. 이 문제를 해결하는 방법을 모르지만 최신 버전으로 업데이트하려고 시도 할 수 있습니다 (최신 org.eclipse.zest.dot.ui 번들은 http://wiki.eclipse.org/Zest#Zest_2.x 참조).