2011-03-04 39 views
1

我正在编写一个eclipse插件。这个插件使用一些本地jar文件,并且还有一些依赖于其他插件。向我的插件添加插件依赖项打破现有的非插件库(Google Data API)

我使用Google代码搜索API从jar文件,它工作正常;但我添加插件依赖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 Code Search API需要不同版本的这些API,现在正在尝试使用其他版本。不知道如何解决这个问题,但可以尝试更新到最新版本(请参阅http://wiki.eclipse.org/Zest#Zest_2.x获取最新的org.eclipse.zest.dot.ui包)。