我正在编写一个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
将无法再使用;如果没有,那就完美了。实际项目代码不会更改,只会添加依赖项。
这对我来说很奇怪,因为我没有看到添加插件依赖项应该突然让一些方法消失。有没有人遇到类似的东西,可以分享有关此问题的任何见解和可能的解决方案?我甚至不确定这个问题是否特定于这两个库。
答案 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)。