最近用到maven,各种测试,checkstyle的插件都很全,所以编译起来就比较慢,一旦这些不影响编译大局的插件执行失败还影响调试的进度。所以就想如何来跳过这些插件的执行。
规则:每个插件都有一个<skip></skip>属性,maven在调用插件的时候判断这个属性的值是否是true,是true的话就跳过。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<configuration>
<skip>${skipDocs}</skip>
</configuration>
<executions>
<execution>
<id>javadoc</id>
<goals>
<goal>javadoc</goal>
</goals>
<phase>package</phase>
<configuration>
<aggregate>true</aggregate>
</configuration>
</execution>
<execution>
<id>aggregate</id>
<inherited>false</inherited>
<goals>
<goal>aggregate</goal>
</goals>
</execution>
</executions>
</plugin>
定义这个属性的值有两种方式。
1)直接在插件配置这里将skip属性写成true:
<configuration>
<skip>true</skip>
</configuration>
<properties>
<!-- skips checkstyle and find bugs -->
<skipCheck>false</skipCheck>
<skipTests>false</skipTests>
<skipDocs>false</skipDocs>
</properties>
在编译的时候用mvn install -DskipDocs=true 就可以将skipDocs设置成true(“=ture”可以省略),从而跳过maven-javadoc-plugin的执行。
properties里面的skipDocs不定义也没什么大问题,命令行定义就可以了。定义的话,命令行的定义就会覆盖properties里的值。