possiamo includere Maven PMD plug-in esecuzione all'interno di obiettivo di build?
Domanda
Ragazzi, ho voluto generare il rapporto PMD, mentre la costruzione del progetto in modo ho aggiunto plugin per la sezione build di mia pom.xml ma ancora non eseguire fino a quando non esplicitamente chiamo mvn clean install pmd: PMD. Voglio eseguirlo con pulito mvn installarsi. È possibile ? le mie voci pom sono come sotto:
<build>
<plugins>
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.4</version>
<configuration>
<skip>false</skip>
<targetJdk>${compile.source}</targetJdk>
<rulesets>
<ruleset>./current.pmd.rules.xml</ruleset>
</rulesets>
<excludes>
<exclude>com/cm/**/*.java</exclude>
<exclude>com/sm/**/*.java</exclude>
</excludes>
<linkXref>true</linkXref>
<failOnViolation>true</failOnViolation>
<executions>
<execution>
<goals>
<goal>check</goal>
<goal>cpd-check</goal>
</goals>
</execution>
</executions>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>2.0.1</version>
</plugin>
</plugins>
</build>
Grazie in anticipo.
Soluzione 2
HM Scusate ragazzi, il suo solo un piccolo errore ho fatto durante la scrittura della configurazione. Il <executions> [...] </executions>
dovrebbe essere fuori di tag <configuration>[...]</configuration>
. Dal momento che il plugin è abbastanza intelligente da eseguire in fase di verify
, abbiamo bisogno di non associarlo a qualsiasi fase. Abbiamo solo bisogno di includerlo nella <build>
section della vostra pom.xml.
Altri suggerimenti
È possibile associare gli obiettivi PMD con fase install
modificando il pom per contenere il seguente frammento:
<executions>
<execution>
<phase>install</phase>
<goals>
<goal>check</goal>
<goal>cpd-check</goal>
</goals>
</execution>
</executions>
Ma si deve associare con una fase precedente alla install
- come verify
-. In modo che il controllo avviene prima della fase di install