Maven-PMD-Plugin utilizza solo i regole in bundle
-
28-10-2019 - |
Domanda
Sto usando il maven-pmd-plugin sul mio progetto ed è così che l'ho configurato
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jxr-plugin</artifactId>
<version>2.3</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>2.6</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>UTF-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${targetJdk}</targetJdk>
<rulesets>
<ruleset>${maven.pmd.rulesetfiles}</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>
Ecco le proprietà utilizzate nella configurazione sopra
<properties>
<spring.version>3.0.6.RELEASE</spring.version>
<basedir>C:\Users\Q4\workspace\project</basedir>
<maven.pmd.rulesetfiles>${basedir}\pmdRuleset.xml</maven.pmd.rulesetfiles>
<targetJdk>1.5</targetJdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
Il problema è quando eseguo MVN PMD: Controlla, mi dà 8 violazioni - solo dal code di base, non utilizzato e nelle importazioni. Semplicemente non utilizza tutte le regole che ho elencato nel file del set di regole personalizzate. Ho anche provato a utilizzare la registrazione-java.xml e strings.xml direttamente nel set delle regole senza utilizzare il file del set di regole personalizzati e non funziona ancora.
Quando eseguo MVN PMD: PMD, ottengo un successo di build ma gli errori sono ancora visualizzati nella mia cartella target. Perché ho un successo di costruzione qui?
Soluzione
L'ho risolto semplicemente aggiungendo i plugin nella sezione Build insieme a quelli nella sezione Reporting.
In qualche modo doveva essere anche in grado di eseguire tutte le regole. In precedenza avevo l'impressione di mettere i plugin nella build solo se vogliamo eseguirli durante la fase di build e distribuire.