目的
maven pluginを特定 profileでは実行したくない
経緯
mavenで Javaウェブアプリケーションのpackaging時 jsとcssをcompressするため、yuicompressor-maven-plugin使っているが、開発時は compressが走らないようにしたい。
開発結果の packaging時も compressが走ってしまい、jsとcssの確認が難しくなるし、compressされた状態で commitするケースも発生する。
対応方法
対象profileの buildタグに <phase/>のplugin定義を追加
例
<profile>
<id>dev</id>
...
<build>
...
<plugins>
<plugin>
<groupId>net.alchim31.maven</groupId>
<artifactId>yuicompressor-maven-plugin</artifactId>
<version>1.5.1</version>
<executions>
<execution>
<phase/>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
参考
Disable a Maven plugin defined in a parent POM
In a Maven multi-module project, how can I disable a plugin in one child?