2012-08-09 61 views
1

我有Maven Java项目编译罚款在命令行,但是当我在Eclipse中导入我收到有关CollectionUtils编译错误。如何追踪eclipse中编译错误的错误?

org.apache.commons.collections.CollectionUtils 

似乎该项目有传递依赖关系,它具有旧版本的apache commons集合的引用。 如何跟踪确切的错误? 如何解决? 谢谢。

回答

0

如何精确跟踪错误?怎么修?

调用

mvn clean compile -e 

它会给你错误的堆栈跟踪,这将有助于你解决这个错误

+0

从命令行或我的eclipse maven插件项目编译罚款=没有错误的问题。但eclipse编译器会产生错误! – user710818 2012-08-09 09:23:58

+0

eclipse编译器? – 2012-08-09 10:02:17

1

我看来像在Eclipse中的类路径(.classpath文件)配置不正确。你可以通过使用Maven Eclipse Plugin让maven为你配置它。简单地执行从以下命令行:然后

mvn eclipse:eclipse 

Maven将正确填写的.classpath文件在你的POM中定义的所有依存关系(包括传递依赖)。然后刷新Eclipse中的项目,所有的红十字会消失(希望...)

+0

还要确保你在eclipse中使用的是与你在命令行中相同版本的Maven。 Maven 2和Maven 3以不同方式解决依赖关系。 – user944849 2012-08-09 15:56:07

2

也许你可以通过发布mvn dependency:tree找出你的pom中的哪个依赖项正在拉动旧版本的Apache公用。

另外,在Eclipse中,当你打开pom.xml文件(安装了m2e插件),你应该看到的依赖关系树标签在编辑器的底部,像这样:

enter image description here

搜索字段中,您可以键入apache commons jar的名称以找出哪个依赖关系正在将其拉入。一旦您添加了适当的排除,请将其添加应该都是桃色的。

问题

你怎么导入在Eclipse中Maven项目。你做了一个mvn eclipse:eclipse然后导入它作为一个正常的eclipse项目?如果是这样,我会建议安装m2e插件(上面链接),然后使用eclipse中的Import Existing Maven Project导入maven项目。