当类出现在多个库中时,Eclipse会错误地选择JAR作为项目依赖项



我在一个大型Java应用程序上工作,我在Eclipse Kepler下编译它时遇到了问题:

  • 应用程序基于Maven 3.1.0,并成功地在那里编译我使用mvn Eclipse: Eclipse
  • 生成Eclipse配置(项目文件)

问题是某些类存在于多个JAR中(例如,想象一个类Http和这个类的两个版本,其中新版本有更多的方法),Eclipse为特定项目错误地选择了依赖的类(旧的),这使得它无法编译。

我尝试在项目依赖项中上下移动jar,这在某些情况下很有帮助,但是,这意味着我正在更改由Maven更改的配置。

是否有可能配置Eclipse使其"更智能"?它是由Maven (POM文件,Maven的eclipse插件中的错误,…)引起的,尽管Maven编译项目没有任何问题?还有其他建议吗?

你不应该使用mvn eclipse:eclipse。目前的官方方法是使用m2e插件(它更智能),并使用File->Import->Existing Maven项目。

当您打开pom.xml文件时,您可以看到依赖关系层次结构以及选择给定jar的原因。

(请注意,大多数(但不是所有)最新Eclipse的标准发行版都包含m2e。如果你没有,你可以从市场上下载它,但下载一个有它的发行版可能更容易)。

最新更新