在父母POM中,我有:
<pluginManagement>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>execution 1</id>
...
</execution>
<execution>
<id>execution 2</id>
...
</execution>
<execution>
<id>execution 3</id>
...
</execution>
</executions>
</plugin>
<pluginManagement>
我的问题是:
<execution>
,例如,只运行execution 3
并跳过1和2?exection 4
我只想运行这个execution
并且永远不会在父POM中运行执行1,2,3。答案 0 :(得分:13)
快速选项是在覆盖每次执行时使用<phase>none</phase>
。因此,例如,只运行执行3,您将在您的pom中执行以下操作:
<build>
<plugins>
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<executions>
<execution>
<id>execution 1</id>
<phase>none</phase>
...
</execution>
<execution>
<id>execution 2</id>
<phase>none</phase>
...
</execution>
<execution>
<id>execution 3</id>
...
</execution>
</executions>
</plugin>
...
</plugins>
...
</build>
应该注意的是,这不是官方记录的功能,因此可以随时删除对此的支持。
建议的解决方案可能是定义profiles
定义了activation
个部分:
<profile>
<id>execution3</id>
<activation>
<property>
<name>maven.resources.plugin.execution3</name>
<value>true</value>
</property>
</activation>
...
在您的子项目中,您只需设置所需的属性:
<properties>
<maven.resources.plugin.execution3>true</maven.resources.plugin.execution3>
</properties>
有关配置文件激活的更多详细信息,请访问: http://maven.apache.org/settings.html#Activation