将PMD配置从5.1迁移到5.4

时间:2015-11-25 16:50:07

标签: java eclipse pmd

我在Eclipse Kepler中使用了eclipse-pmd 0.9版本。现在我在Eclipse Mars中使用eclipse-pmd 1.7版。

我尝试使用相同的PMD配置(简化为一条规则):

<?xml version="1.0"?>
<ruleset>
    <rule ref="rulesets/java/basic.xml/EmptyCatchBlock">
        <priority>1</priority>
    </rule>
</ruleset>

但我总是得到消息:

  

pmd.xml不是有效的PMD规则集配置

该规则集有什么问题?

eclipse-pmd的

Changelog表示PMD从5.1变为5.4。

我发现PMD 5.1.1为Migration guide,但PMD 5.4没有。{是否有PMD 5.4的迁移指南?

1 个答案:

答案 0 :(得分:1)

我找到了一个解决方案,请参阅changelog

  

删除规则:

     
      
  • 基本:规则集“基本”的以下规则已标记为已弃用,现在已从此版本中删除:   EmptyCatchBlock,EmptyIfStatement,EmptyWhileStmt,EmptyTryBlock,EmptyFinallyBlock,EmptySwitchStatements,EmptySynchronizedBlock,EmptyStatementNotInLoop,EmptyInitializer,EmptyStatementBlock,EmptyStaticInitializer UnnecessaryConversionTemporary,UnnecessaryReturn,UnnecessaryFinalModifier,UselessOverridingMethod,UselessOperationOnImmutable,UnusedNullCheckInEquals,UselessParentheses这些规则仍然在规则集可用 “空”(规则集/ JAVA / empty.xml)和“Unnecessary”(rulesets / java / unwanted.xml)。
  •   

删除以“空”fom PMD配置开头的所有规则后,我可以导入它。