「常にアクティブな」Mavenプロファイルでプラグインを1回実行し、条件付きで実行されるプロファイルで再度実行しようとしています。条件付きプロファイルが実行されると、「常時オン」プロファイルのプラグインは実行されません。ただし、「常にアクティブ」なプロファイルだけで 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)