1

我正在写一个 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/google/common/collect/ImmutableSet$Builder;

我仔细检查并转载了这个:如果插件出现在依赖列表中,CodeSearchService则不能再使用;如果没有,它会完美运行。实际项目代码并没有改变,只是添加了一个依赖项。

这对我来说很奇怪,因为我看不到添加插件依赖项会如何突然使某些方法消失。有没有人遇到过类似的事情,并且可以分享有关此问题的任何见解和可能的解决方案?我什至不确定这个问题是否特定于这两个库。

4

1 回答 1

1

org.eclipse.zest.dot.ui包引入了依赖于 Google Collections 的依赖项,所以我猜测 Google Code Search API 需要这些的不同版本,现在正尝试使用其他版本。不知道如何解决这个问题,但您可以尝试将两者都更新到最新版本(有关最新捆绑包,请参阅http://wiki.eclipse.org/Zest#Zest_2.xorg.eclipse.zest.dot.ui)。

于 2011-06-18T20:47:45.450 回答