Plugins 覆盖给定执行id的Maven插件目标定义
似乎不可能覆盖插件执行的目标定义 假设我有一个Jetty的父配置,它定义了Plugins 覆盖给定执行id的Maven插件目标定义,plugins,configuration,maven,Plugins,Configuration,Maven,似乎不可能覆盖插件执行的目标定义 假设我有一个Jetty的父配置,它定义了 <execution> <id>start-jetty</id> <phase>pre-integration-test</phase> <goals>
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
起动码头
预集成测试
跑
现在我想在本地为一个特定的项目实现目标
如果我尝试用替换本地项目中的父定义
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
起动码头
预集成测试
跑爆
然后我有了有效的pom
<execution>
<id>start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run</goal>
<goal>run-exploded</goal>
</goals>
</execution>
起动码头
预集成测试
跑
跑爆
我很惊讶,因为我一直认为它会覆盖
这是Maven3中的新行为吗
是否要获得一个覆盖行为而不是当前行为?这是按设计方式进行的继承。您应该考虑从父POM中删除JIT配置,并将其放入一个配置文件中,或者尝试使用“值假”来尝试<代码> >代码>元素,并查看它是否适用于您。 < P>我发现禁用继承配置并创建一个新配置:
<execution>
<id>start-jetty</id>
<phase>none</phase>
</execution>
<execution>
<id>my-start-jetty</id>
<phase>pre-integration-test</phase>
<goals>
<goal>run-exploded</goal>
</goals>
</execution>
起动码头
没有一个
我的出发码头
预集成测试
跑爆
了解inherited很好,但jetty plugin有一个奇怪的行为,而且,这不是我想要的,我需要继承。如果你从全局角度解释这个问题,那么更多的是关于子POM中的插件覆盖,而不是关于运行jetty本身。