Maven与m2e-Eclipse-Plugin如何配合

How do Maven and m2e-Eclipse-Plugin cooperate

我对 m2e-Eclipse-Plugin 有一些疑问。 m2e版本为1.6,Eclipse版本为4.5(Mars)

在我的 Eclipse 工作区中,我有一个部署在本地 Tomcat 服务器上的 Maven 项目(Java Web 应用程序)。

我真的很想知道m2e-Plugin 和Maven 是如何协同工作的。如果我更改 Java-file 并保存它,mvn-target-directory 中相应的 Class-file 会立即更新。

此编译是由 Eclipse 中的默认 Java-Builder 完成的还是由 Maven 完成的? (即 mvn-compile-plugin 进行编译)。如果后一种情况为真,那么编译目标是如何执行的?

如果 Java 文件被更改和保存,我可以配置执行哪些 mvn-goals 吗?如果编译是由 Java Builder 完成的,那么 Builder 怎么知道它必须复制已编译的 文件到 mvn-target-directory ?

我找到了两个帖子:

How do Java and Maven builders work together in eclipse?

How do I start Maven "compile" goal on save in Eclipse?

处理类似问题。但是大多数建议的配置设置在我的 Eclipse 中不起作用。

您的场景中的编译是由 Eclipse 编译器完成的,而不是由 Maven 或 maven-compiler-plugin 完成的。 M2E 将所有内容映射到 Eclipse 内部以处理在 Eclipse 中工作所需的大部分内容。

在使用 M2E(创建 .project/.classpath/.settings)将 Maven 项目初始导入 Eclipse 期间,生命周期将为 运行 到 generate-resources,因此一些插件是 运行 并且可以创建其他东西(比如 ANTLR/JAXB 生成器等)。 Eclipse 通过读取 pom.xml 文件来处理正确的目标文件夹,并通过 M2E 将其转换为 Eclipse 等的配置。您所引用的关于配置的内容根本不起作用,因为这些帖子太旧了...