The rule change rule / java / tip helped me, but I also had to change one rule:
<rule ref="rulesets/java/controversial.xml/UnusedModifier"> <priority>5</priority> </rule>
to
<rule ref="rulesets/java/unusedcode.xml/UnusedModifier"> <priority>5</priority> </rule>
Here is my sonar PMD configuration file that works for me with PMD 4.0.2 plugin .:
<?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="pmd-eclipse" xsi:schemaLocation="http://pmd.sourceforge.net/ruleset/2.0.0 http://pmd.sourceforge.net/ruleset_2_0_0.xsd"> <rule ref="rulesets/java/basic.xml/UnusedNullCheckInEquals"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/StringInstantiation"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/ConstructorCallsOverridableMethod"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/AvoidCatchingNPE"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/AvoidRethrowingException"> <priority>3</priority> </rule> <rule ref="rulesets/java/migrating.xml/ReplaceEnumerationWithIterator"> <priority>3</priority> </rule> <rule ref="rulesets/java/optimizations.xml/AvoidArrayLoops"> <priority>3</priority> </rule> <rule ref="rulesets/java/unusedcode.xml/UnusedFormalParameter"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/ClassCastExceptionWithToArray"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/AvoidThrowingNullPointerException"> <priority>3</priority> </rule> <rule ref="rulesets/java/unusedcode.xml/UnusedPrivateField"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/CompareObjectsWithEquals"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/UseIndexOfChar"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/BigIntegerInstantiation"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/FinalFieldCouldBeStatic"> <priority>4</priority> </rule> <rule ref="rulesets/java/naming.xml/SuspiciousEqualsMethodName"> <priority>2</priority> </rule> <rule ref="rulesets/java/design.xml/InstantiationToGetClass"> <priority>3</priority> </rule> <rule ref="rulesets/java/naming.xml/SuspiciousHashcodeMethodName"> <priority>3</priority> </rule> <rule ref="rulesets/java/coupling.xml/LooseCoupling"> <priority>3</priority> </rule> <rule ref="rulesets/java/unusedcode.xml/UnusedLocalVariable"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/UnnecessaryCaseChange"> <priority>4</priority> </rule> <rule ref="rulesets/java/design.xml/SingularField"> <priority>4</priority> </rule> <rule ref="rulesets/java/design.xml/CloseResource"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/AvoidCatchingThrowable"> <priority>2</priority> </rule> <rule ref="rulesets/java/basic.xml/CollapsibleIfStatements"> <priority>4</priority> </rule> <rule ref="rulesets/java/basic.xml/UselessOperationOnImmutable"> <priority>2</priority> </rule> <rule ref="rulesets/java/clone.xml/CloneMethodMustImplementCloneable"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/UselessOverridingMethod"> <priority>3</priority> </rule> <rule ref="rulesets/java/unusedcode.xml/UnusedModifier"> <priority>5</priority> </rule> <rule ref="rulesets/java/design.xml/PreserveStackTrace"> <priority>3</priority> </rule> <rule ref="rulesets/java/optimizations.xml/UseArraysAsList"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/EqualsNull"> <priority>2</priority> </rule> <rule ref="rulesets/java/basic.xml/BrokenNullCheck"> <priority>2</priority> </rule> <rule ref="rulesets/java/logging-jakarta-commons.xml/UseCorrectExceptionLogging"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/InefficientStringBuffering"> <priority>3</priority> </rule> <rule ref="rulesets/java/sunsecure.xml/ArrayIsStoredDirectly"> <priority>2</priority> </rule> <rule ref="rulesets/java/finalizers.xml/FinalizeOverloaded"> <priority>3</priority> </rule> <rule ref="rulesets/java/controversial.xml/DontImportSun"> <priority>4</priority> </rule> <rule ref="rulesets/java/imports.xml/DontImportJavaLang"> <priority>4</priority> </rule> <rule ref="rulesets/java/design.xml/MissingStaticMethodInNonInstantiatableClass"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/StringBufferInstantiationWithChar"> <priority>3</priority> </rule> <rule ref="rulesets/java/optimizations.xml/UseArrayListInsteadOfVector"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/StringToString"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/SimplifyConditional"> <priority>3</priority> </rule> <rule ref="rulesets/java/migrating.xml/ReplaceVectorWithList"> <priority>3</priority> </rule> <rule ref="rulesets/java/codesize.xml/NcssMethodCount"> <priority>3</priority> <properties> <property name="minimum" value="50" /> </properties> </rule> <rule ref="rulesets/java/logging-java.xml/AvoidPrintStackTrace"> <priority>3</priority> </rule> <rule ref="rulesets/java/naming.xml/MethodWithSameNameAsEnclosingClass"> <priority>3</priority> </rule> <rule ref="rulesets/java/naming.xml/SuspiciousConstantFieldName"> <priority>3</priority> </rule> <rule ref="rulesets/java/codesize.xml/NcssTypeCount"> <priority>3</priority> <properties> <property name="minimum" value="800" /> </properties> </rule> <rule ref="rulesets/java/design.xml/AvoidInstanceofChecksInCatchClause"> <priority>4</priority> </rule> <rule ref="rulesets/java/migrating.xml/IntegerInstantiation"> <priority>3</priority> </rule> <rule ref="rulesets/java/migrating.xml/AvoidAssertAsIdentifier"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/UnnecessaryLocalBeforeReturn"> <priority>3</priority> </rule> <rule ref="rulesets/java/finalizers.xml/AvoidCallingFinalize"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/BooleanInstantiation"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/UnconditionalIfStatement"> <priority>2</priority> </rule> <rule ref="rulesets/java/clone.xml/CloneThrowsCloneNotSupportedException"> <priority>3</priority> </rule> <rule ref="rulesets/java/migrating.xml/ReplaceHashtableWithMap"> <priority>3</priority> </rule> <rule ref="rulesets/java/basic.xml/AvoidDecimalLiteralsInBigDecimalConstructor"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/SignatureDeclareThrowsException"> <priority>3</priority> </rule> <rule ref="rulesets/java/finalizers.xml/EmptyFinalizer"> <priority>3</priority> </rule> <rule ref="rulesets/java/design.xml/IdempotentOperations"> <priority>3</priority> </rule> <rule ref="rulesets/java/strictexception.xml/ExceptionAsFlowControl"> <priority>3</priority> </rule> <rule ref="rulesets/java/finalizers.xml/FinalizeDoesNotCallSuperFinalize"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/UseStringBufferLength"> <priority>4</priority> </rule> <rule ref="rulesets/java/migrating.xml/AvoidEnumAsIdentifier"> <priority>3</priority> </rule> <rule ref="rulesets/java/logging-java.xml/SystemPrintln"> <priority>3</priority> </rule> <rule ref="rulesets/java/strings.xml/UselessStringValueOf"> <priority>4</priority> </rule> <rule ref="rulesets/java/strings.xml/AvoidDuplicateLiterals"> <priority>3</priority> </rule> </ruleset>
Dove
source share