Ich habe eine benutzerdefinierte PMD-Regelsatz-XML-Datei erstellt, um einige Regelprüfungen auszuschließen.Benutzerdefiniertes PMD-Regelwerk funktioniert nicht
<?xml version="1.0" encoding="UTF-8"?>
<ruleset xmlns="http://pmd.sourceforge.net/ruleset/2.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="full-pmd-ruleset"
xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd">
<description>Full 5.1.1 PMD rule set</description>
<rule ref="rulesets/java/coupling.xml">
<exclude name="LawOfDemeter"/>
</rule>
<rule ref="rulesets/java/design.xml">
<exclude name="GodClass"/>
</rule>
<rule ref="rulesets/java/unnecessary.xml">
<exclude name="UnnecessaryFinalModifier"/>
<exclude name="UnnecessaryReturn"/>
</rule>
<rule ref="rulesets/java/android.xml"/>
<rule ref="rulesets/java/basic.xml"/>
<rule ref="rulesets/java/braces.xml"/>
<rule ref="rulesets/java/clone.xml"/>
<rule ref="rulesets/java/codesize.xml"/>
<rule ref="rulesets/java/comments.xml"/>
<rule ref="rulesets/java/controversial.xml"/>
<rule ref="rulesets/java/coupling.xml"/>
<rule ref="rulesets/java/design.xml"/>
<rule ref="rulesets/java/empty.xml"/>
<rule ref="rulesets/java/finalizers.xml"/>
<rule ref="rulesets/java/imports.xml"/>
<rule ref="rulesets/java/j2ee.xml"/>
<rule ref="rulesets/java/junit.xml"/>
<rule ref="rulesets/java/logging-jakarta-commons.xml"/>
<rule ref="rulesets/java/logging-java.xml"/>
<rule ref="rulesets/java/javabeans.xml"/>
<rule ref="rulesets/java/migrating.xml"/>
<rule ref="rulesets/java/naming.xml"/>
<rule ref="rulesets/java/optimizations.xml"/>
<rule ref="rulesets/java/sunsecure.xml"/>
<rule ref="rulesets/java/strictexception.xml"/>
<rule ref="rulesets/java/strings.xml"/>
<rule ref="rulesets/java/unnecessary.xml"/>
<rule ref="rulesets/java/basic.xml"/>
<rule ref="rulesets/java/unusedcode.xml"/>
<rule ref="rulesets/plsql/codesize.xml"/>
<rule ref="rulesets/plsql/TomKytesDespair.xml"/>
<rule ref="rulesets/plsql/dates.xml"/>
</ruleset>
Und ich den folgenden Befehl bin mit diesem ruleset PMD auszuführen:
pmd -d C:\Users\leo\Documents\workspace\SampleProject\src\Sample.java -f html -R CustomRuleset.xml>Report.html
Es funktioniert gut, aber Ausschluß der Regeln, die in der XML genannten funktioniert nicht. Es nimmt auch diese ausgeschlossenen Regeln an.
Was mache ich hier falsch?
Eigentlich dachte ich zuerst, dass ich die Regel erneut importieren muss, um einige ihrer Funktionen auszuschließen. – Leo