Mam PMD uruchomiony przez Maven 2. Teraz mam wszystkie zestawy reguł w miejscu, aby zobaczyć, co jest generowane (patrz kod poniżej). Przejmuję i naprawiam rzeczy, które mają sens, aby je naprawić. Istnieją jednak przypadki, takie jak w zestawie reguł "optymalizacje", w którym chcę zachować ustawioną regułę, ale wyłącza jedną z reguł w zestawie reguł. W moim przypadku chcę wyłączyć regułę "AvoidInstantiatingObjectsInLoopss".PMD z Maven - Jak wyłączyć jedną regułę w zestawie reguł?
Oto odcinek raportowanie moim pom.xml
<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>${pmd.minimumTokens}</minimumTokens>
<failOnViolation>${pmd.failOnViolation}</failOnViolation>
<targetJdk>${projectTargetJdk}</targetJdk>
<rulesets>
<!-- See the FAQ here: http://maven.apache.org/maven-1.x/plugins/pmd/faq.html -->
<!-- See the rule sets here: http://pmd.sourceforge.net/ (menu on the left has a Rule Sets section -->
<!-- Unused rule sets -->
<!-- <ruleset>/rulesets/naming.xml</ruleset> -->
<!-- Unable to find rule sets -->
<!-- <ruleset>/rulesets/emptycode.xml</ruleset> -->
<!-- <ruleset>rulesets/comments.xml</ruleset> -->
<!-- <ruleset>/rulesets/unnecessary.xml</ruleset> -->
<!-- <ruleset>/rulesets/logging.xml</ruleset> -->
<!-- used rule sets -->
<!-- http://pmd.sourceforge.net/rules/java/basic.html -->
<ruleset>/rulesets/basic.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/braces.html -->
<ruleset>/rulesets/braces.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/clone.html -->
<ruleset>/rulesets/clone.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/codesize.html -->
<ruleset>/rulesets/codesize.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/controversial.html -->
<ruleset>/rulesets/controversial.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/coupling.html -->
<ruleset>/rulesets/coupling.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/design.html -->
<ruleset>/rulesets/design.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/finalizers.html -->
<ruleset>/rulesets/finalizers.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/imports.html -->
<ruleset>/rulesets/imports.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/j2ee.html -->
<ruleset>/rulesets/j2ee.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/junit.html -->
<ruleset>/rulesets/junit.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/javabeans.html -->
<ruleset>/rulesets/javabeans.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/migrating.html -->
<ruleset>/rulesets/migrating.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/optimizations.html -->
<ruleset>/rulesets/optimizations.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/strictexception.html -->
<ruleset>/rulesets/strictexception.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/strings.html -->
<ruleset>/rulesets/strings.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/sunsecure.html -->
<ruleset>/rulesets/sunsecure.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/typeresolution.html -->
<ruleset>/rulesets/typeresolution.xml</ruleset>
<!-- http://pmd.sourceforge.net/rules/java/unusedcode.html -->
<ruleset>/rulesets/unusedcode.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>
Prowadzę PMD jako część sonaru. Sonar dostarcza GUI do zarządzania włączonymi regułami. –
Sonar wygląda bardzo interesująco. Zbadam więcej w tym zakresie. Na razie nadal jestem zainteresowany zrozumieniem, czy istnieje sposób na zaspokojenie moich potrzeb poprzez np. Konfiguracje maven? – Bellini