2011-09-30 52 views
3

我已将现有的Maven项目导入到Eclipse IDE中。我修改了一些代码并在Eclipse中构建了该项目。没有生成错误。Maven项目在Eclipse中成功构建,但在cmd提示中显示编译错误

但是,当我从命令提示符运行mvn clean install时,它显示了很多编译错误。为什么Eclipse不显示错误,而Maven显示编译错误?

+1

这些错误是什么? – Thilo

+0

它与我们的应用程序特定相关,例如某个类未找到符号。我已经在Eclipse中使用Ctrl + Shift + T – Pawan

+0

来检查该类是否存在。您可以通过以下信息来扩展您的问题:eclipse版本,安装了m2e或m2eclipse(或者根本没有),如何在eclipse中进行构建,你有没有在m2e中配置你想使用的Maven?所有这些都与可能的原因有关...... – mliebelt

回答

5

Eclipse没有maven scopes的概念。而maven将根据范围具有不同的类路径--eclipse将只有一个类路径集。

恕我直言,我不信任m2eclipse的构建 - 让它协助开发。

+3

对于'我不信任m2eclipse的构建版本'+1 –

+0

所以,你的意思是说,总是从命令提示符运行mvn clean install,而不是从Eclipse IDE运行? – Pawan

+0

这取决于你。我建议像jenkins这样的连续构建服务器来运行你的单元和集成测试。如果您要修改依赖项,请使用mvn clean install -DskipTests = true -pl changedmodule -am && mvn -o clean verify -pl changedmodule – TJR

1

以TJR的回答为基础,我想给出一个刚刚发生在我身上的具体例子。

我也有一个在Eclipse中“工作”的构建,但是在命令行上出现很多Java编译器错误。 (谢天谢地,我在发布之前总是使用'​​mvn clean install'进行测试。)

在我的情况中,我构建了一些自定义的hamcrest匹配器,但我的POM中的hamcrest依赖项设置为:<scope>test</scope>删除此作用域限制修复了我的错误。

似乎像m2e仍然需要更多的工作。

相关问题