【发布时间】:2015-09-23 12:40:23
【问题描述】:
我想知道当我点击 Project > Clean 时,mvn 是否真的参与了构建过程的设置。
M2E(Maven 到 Eclipse,标准插件)是否只是按照 pom 指定的方式读取和分析 pom 设置/更新 Eclipse 项目,还是实际运行 pom 中定义的阶段?
我只是想知道在 Project > Clean 上会发生什么当涉及到 Maven...。
[更新]
由于人们对这个问题感到困惑,这里有更多信息:
我在 Maven 中更改了项目的构建过程,并且它似乎不会被我直接在 IDE 中触发的操作所反映。因此,M2E 接缝更像是 maven 设置的翻译器,并将相同的设置应用于 Eclipse,而不改变行为。这也将解释为什么 M2E 首先提供连接器。
由于我无法验证这一点,我将其归结为一个简单的问题,如果得到回答,我就知道有关 Eclipse 中的 Maven 集成的更困难问题的答案。
[更新2]
M2E 具有执行某些阶段的能力。我添加了一个答案。这个答案并不明显,因为我在问这个问题之前上下搜索了互联网。此外,我只是通过之前对这个问题的答案提出的一些想法找到了答案,这是我所要求的,但只是图片的一半。
这个问题是一个完美的例子,为什么经常在堆栈溢出时,既没有询问也没有暗示明显的问题,也没有最终的答案,并且触发器快乐接近友好的群体有时会错过重点:-)。
【问题讨论】:
-
您混淆了 Maven 和 Eclipse。两者都是两种截然不同的技术。 Project > Clean 是一个 Eclipse Action,它与 Maven 没有任何关系。
-
不,我没有混淆。我正在尝试扩展构建过程,并且 mvn clean 或 mvn build 正在产生不同的输出。所以它归结为 M2E 在内部是如何工作的,所以归结为一个简单的问题:当我点击 Project > Clean 时,M2E 实际上在做什么。所以这既不是重复,也不是我混淆的东西。这只是高级 IDE 与 Maven 的对比,我还想不通。
-
@MartinKersten Tunaki 是对的:清理项目时,M2E 插件什么也不做。但它会在调用构建时做一些事情,因为具有 Maven 特性的 Eclipse 项目也附加了一个 Maven 构建器。
-
好的,所以最终 M2E 保持不变。感谢您的澄清。我认为拥有一个干净的目标 M2E 可能已经发布了这个。