Java 如何跟踪eclipse中编译错误的错误?

Java 如何跟踪eclipse中编译错误的错误?,java,eclipse,maven,compilation,compiler-errors,Java,Eclipse,Maven,Compilation,Compiler Errors,我有一个maven java项目,它在命令行中编译得很好,但当我在eclipse中导入时,我收到有关CollectionUtils的编译错误 org.apache.commons.collections.CollectionUtils 似乎该项目具有可传递的依赖项,该依赖项引用了apache commons集合的旧版本。 如何准确跟踪错误? 如何修复? 谢谢 如何准确跟踪错误?如何修复 援引 mvn clean compile -e 它将为您提供错误堆栈跟踪,帮助您修复此错误在我看来,Ecl

我有一个maven java项目,它在命令行中编译得很好,但当我在eclipse中导入时,我收到有关CollectionUtils的编译错误

org.apache.commons.collections.CollectionUtils
似乎该项目具有可传递的依赖项,该依赖项引用了apache commons集合的旧版本。 如何准确跟踪错误? 如何修复? 谢谢

如何准确跟踪错误?如何修复

援引

mvn clean compile -e

它将为您提供错误堆栈跟踪,帮助您修复此错误

在我看来,Eclipse中的类路径(
.classpath
文件)配置不正确。您可以让maven通过使用为您配置。只需从命令行执行以下操作:

mvn eclipse:eclipse

然后,Maven将使用POM中定义的所有依赖项(包括可传递依赖项)正确地填充
.classpath
文件。然后在Eclipse中刷新项目,所有的红色十字应该消失(希望…

也许您可以通过发出
mvn dependency:tree
来追踪可传递的依赖项,以确定pom中的哪个依赖项正在拉入旧版本的Apache commons

或者,在eclipse内部,当您打开pom.xml文件(安装了插件)时,您应该会在编辑器底部看到Dependency Tree选项卡,如下所示:

搜索字段中,您可以键入ApacheCommonsJAR的名称,以找出哪个依赖项将其拉入。一旦你添加了适当的排除添加它应该是桃色的

问题


您是如何在eclipse中导入maven项目的。您是否执行了一个
mvneclipse:eclipse
,然后将其作为一个普通的eclipse项目导入?如果是这样的话,我建议安装m2e插件(链接在上面),然后使用eclipse中的
Import Existing maven project
导入maven项目。

从命令行或我的eclipse maven插件编译的问题很好=没有错误。但是eclipse编译器会产生错误!还要确保在eclipse中使用的Maven版本与在命令行中使用的版本相同。Maven 2和Maven 3以不同的方式解决依赖关系。