6

在 Eclipse 中,当启用 Maven 时,有一个 pom.xml 文件可以用 Maven 构建。而且,Eclipse 的项目菜单中有一个“自动构建”选项。

“自动构建”是使用 Maven 自动构建,还是我们需要取消选中它,因为启用 Maven 后,我们不再需要构建系统中的 Eclipse 构建?

4

2 回答 2

11

Eclipse 的m2e将运行它具有生命周期绑定的插件目标。我不知道(而且我无法找到)运行哪些特定阶段,但根​​据经验我知道:

  • 对于正常操作,至少compile被执行。
  • 对于执行测试(例如 JUnit 测试用例),至少test-compile会被执行。

请注意,它没有所有可能的绑定,并且解决这个问题有时是有问题的。因此,通常,两者都应该运行良好,实际上可以避免由于编译状态在您编码时没有更新而导致的一些不协调。

但是,如果您有被 m2e 忽略的插件,那么当您需要确定构建正确完成时,您实际上应该关闭“自动构建” 。

例如,使用Maven 属性插件,如果您没有提供绑定并设置m2e为忽略,那么您将拥有具有异常属性值的资源。当您执行“Maven”构建(例如,从右键单击上下文菜单),然后更改代码并保存时,尤其会出现此问题。

于 2013-08-17T09:00:56.093 回答
1

你需要两者。原因如下:

Eclipse 内置编译器用于增量编译 - 例如,当您保存代码时。但是项目的完整构建是使用 maven 和 pom.xml 中的项目配置完成的。

于 2013-08-17T03:37:33.507 回答