我正在尝试在“始终处于活动状态”的 Maven 配置文件中运行一次插件,然后在有条件执行的配置文件中再次运行。当条件配置文件运行时,“永远在线”配置文件中的插件不会执行。但是,当仅使用“始终活动”配置文件执行 maven 时,插件运行得很好。
这是我的 pom.xml 的示例
<profile>
<id>default</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!doNoEverSetThisPropertyThisProfileShouldAlwaysBeActive</name>
</property>
</activation>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>antCopyResources</id>
<phase>process-resources</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
...
</plugin>
</plugins>
</build>
</profile>
<profile>
<id>prod</id>
<build>
<plugins>
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<id>prodTokenReplace</id>
<phase>compile</phase>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
...
</plugin>
</plugins>
</build>
</profile>
例如,如果我像这样调用 maven:
mvn clean compile
默认配置文件中的 antrun 插件运行良好。
但是,如果我像这样调用 Maven:
mvn -P prod clean compile
只有 prod 中的 antrun 插件运行。
mvn -P prod help:active-profiles
Active Profiles for Project 'projectname':
The following profiles are active:
- default (source: pom)
- prod (source: pom)