【问题标题】:How to track error for compile error in eclipse?如何在 Eclipse 中跟踪编译错误的错误?
【发布时间】:2012-08-09 09:19:02
【问题描述】:

我有在命令行中编译好的 maven java 项目,但是当我在 eclipse 中导入时,我收到关于 CollectionUtils 的编译错误。

org.apache.commons.collections.CollectionUtils

似乎该项目具有传递依赖关系,这些依赖关系引用了旧版本的 apache commons 集合。 如何准确跟踪错误? 怎么修? 谢谢。

【问题讨论】:

    标签: java eclipse maven compilation compiler-errors


    【解决方案1】:

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

    或者,在 Eclipse 中,当您打开 pom.xml 文件(安装了 m2e 插件)时,您应该会在底部看到 Dependency Tree 选项卡像这样的编辑器:

    Search 字段中,您可以键入 apache commons jar 的名称以找出将其拉入的依赖项。一旦添加适当的 exclusion 添加应该都是桃色的。

    问题

    你是如何在 Eclipse 中导入 maven 项目的。您是否做了mvn eclipse:eclipse 然后将其作为普通的 Eclipse 项目导入?如果是这样,我建议安装 m2e 插件(上面链接),然后在 eclipse 中使用 Import Existing Maven Project 导入 maven 项目。

    【讨论】:

      【解决方案2】:

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

      mvn eclipse:eclipse
      

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

      【讨论】:

      • 还要确保您在 Eclipse 中使用与命令行相同的 Maven 版本。 Maven 2 和 Maven 3 以不同的方式解决依赖关系。
      【解决方案3】:

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

      调用

      mvn clean compile -e
      

      它会给你错误堆栈跟踪,帮助你修复这个错误

      【讨论】:

      • 从命令行或我的eclipse maven插件编译的问题=没有错误。但是eclipse编译器会报错!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-11-03
      • 1970-01-01
      • 2011-07-03
      • 2019-12-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多