Maven和m2e-Eclipse-Plugin如何合作

时间:2016-07-15 12:26:03

标签: java eclipse maven m2eclipse m2e

我对m2e-Eclipse-Plugin有一些疑问。 m2e的版本是1.6,Eclipse的版本是4.5(火星)。

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

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

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

如果更改并保存了Java文件,我可以配置执行哪些mvn目标吗?如果编译是由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中都不起作用。

1 个答案:

答案 0 :(得分:2)

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

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