Я просто пытаюсь добавить PMD в свой проект Spring Boot, но сталкиваюсь с некоторыми проблемами, пытаясь исключить некоторые правила из category/java/errorprone.xml
набора правил.
Я использую плагин gradle следующим образом:
pmd {
ruleSetConfig = resources.text.fromFile("config/pmd/ruleset.xml")
}
и это содержимое моего файла пользовательских правил:
<?xml version="1.0"?>
<ruleset>
<rule ref="category/java/bestpractices.xml"></rule>
<rule ref="category/java/codestyle.xml">
<exclude name="MethodArgumentCouldBeFinal"/>
<exclude name="LocalVariableCouldBeFinal"/>
<exclude name="ControlStatementBraces"/>
<exclude name="OnlyOneReturn"/>
<exclude name="ConfusingTernary"/>
<exclude name="AtLeastOneConstructor"/>
<exclude name="AvoidFinalLocalVariable"/>
<exclude name="ShortVariable"/>
<exclude name="LongVariable"/>
<exclude name="CommentDefaultAccessModifier"/>
<exclude name="DefaultPackage"/>
<exclude name="PrematureDeclaration"/>
</rule>
<rule ref="category/java/design.xml">
<exclude name="LawOfDemeter"/>
<exclude name="NcssCount"/>
<exclude name="CyclomaticComplexity"/>
<exclude name="UseUtilityClass"/>
<exclude name="AvoidCatchingGenericException"/>
<exclude name="NPathComplexity"/>
<exclude name="AvoidRethrowingException"/>
<exclude name="DataClass"/>
<exclude name="AvoidThrowingRawExceptionTypes"/>
</rule>
<rule ref="category/java/documentation.xml">
<exclude name="CommentRequired"/>
<exclude name="UncommentedEmptyConstructor"/>
<exclude name="CommentSize"/>
</rule>
<rule ref="category/java/errorprone.xml">
<exclude name="BeanMembersShouldSerialize"/>
<exclude name="DataflowAnomalyAnalysis"/>
<exclude name="AssignmentInOperand"/>
</rule>
<rule ref="category/java/multithreading.xml">
</rule>
<rule ref="category/java/performance.xml">
<exclude name="AvoidInstantiatingObjectsInLoops"/>
</rule>
<rule ref="category/java/security.xml">
</rule>
</ruleset>
Как вы можете видеть, я исключаю BeanMembersShouldSerialize
и DataflowAnomalyAnalysis
, но я 'Я все еще получаю эти ошибки в отчете PMD:
Found non-transient, non-static member. Please mark as transient or provide accessors.
`Обнаружена 'DU' -аномалия для переменной 'userEntity' (строки '28' - '38').` `
Я использую PMD версии 6.10.0 (9 декабря 2018 года).
Любая помощь будет очень признательна.
С уважением