如何从Eclipse中的自定义库解决NoSuchMethodError

时间:2017-11-05 14:49:53

标签: java eclipse maven

我有两个项目,称为A和B.A在其功能中使用B的实例。我需要向B添加一个方法。所以我添加了方法并增加了库B的次要版本号。我已经更新了A的pom.xml以使用新版本的B。

当我使用maven构建项目A时,它运行正常 - 但是当尝试在Eclipse中运行时,我在尝试调用新方法时得到NoSuchMethodError。但是,当我从A中调用它时,Eclipse会识别自动完成中的新方法。

我已确认项目B位于项目A的构建路径中。我已尝试清理这两个项目。我试过更改方法的名称和重建。没有运气。

如果重要,A还使用了另外两个使用B的项目。他们使用旧版本的B(3.0 vs 3.1)。 pom.xml的依赖关系层次结构选项卡表示它忽略了旧版本。

如果这是一个显而易见的问题,我很抱歉,但我试图维护这段代码而没有太多的Java背景。

谢谢!

1 个答案:

答案 0 :(得分:1)

注意 - 这是一个评论,但由于它确实解决了问题,我删除了评论以支持答案,因为我认为这样更容易阅读。

根据你到目前为止所说的一切,似乎类路径设置正确,但我的想法一直回到运行时类路径不正确的东西。你说,“A还使用了另外两个使用B的项目。他们使用旧版本的B(3.0 vs 3.1)”,尽管依赖层次结构表明它正在拉动3.1版本,但是Eclipse可能并不遵守由于某种原因它正在拉3.0。所以我的建议是更新其他两个项目,看看会发生什么。