向我的插件添加插件依赖项会破坏现有的非插件库(Google Data API)

时间:2011-03-04 17:34:10

标签: java eclipse-plugin google-data zest

我正在编写一个eclipse插件。这个插件使用了一些本地jar文件,另外还有一些对其他插件的依赖。

我正在使用jar文件中的Google Code Search API,它运行正常;但是在我将插件依赖项org.eclipse.zest.dot.ui添加到我的项目后,Google Code Search API不再有效 - 在调用new CodeSearchService("my_ID")时,我收到以下运行时错误:

  

分析失败:引发了java.lang.NoSuchMethodError异常。

     

com.google.common.collect.ImmutableSet.buider()LCOM /谷歌/普通/收集/ ImmutableSet $生成器;

我仔细检查并重现了这一点:如果插件出现在依赖列表中,则CodeSearchService将无法再使用;如果没有,那就完美了。实际项目代码不会更改,只会添加依赖项。

这对我来说很奇怪,因为我没有看到添加插件依赖项应该突然让一些方法消失。有没有人遇到类似的东西,可以分享有关此问题的任何见解和可能的解决方案?我甚至不确定这个问题是否特定于这两个库。

1 个答案:

答案 0 :(得分:1)

org.eclipse.zest.dot.ui捆绑包会依赖于Google Collections,因此我猜测Google Code Search API需要不同版本,现在正尝试使用其他版本。不确定如何解决此问题,但您可以尝试将两者更新到最新版本(有关最新org.eclipse.zest.dot.ui捆绑包,请参阅http://wiki.eclipse.org/Zest#Zest_2.x)。