由于某些奇怪的原因,PMD给出了此错误:

An internal error occurred during: "ReviewCode".
    Unable to find referenced rule UseSingleton; perhaps the rule name is mispelled?


这是在我的ruleset.xml中声明此规则的方式:

   <rule ref="rulesets/java/design.xml/UseSingleton"/>


我正在使用带有4.0.6 PMD插件版本的Eclipse Kepler。我究竟做错了什么?

最佳答案

另请参见错误报告#1339changelog for 5.3.1的答案:


  语言Java,ruleset design.xml:规则“ UseSingleton”已重命名为“ UseUtilityClass”。另请参见错误#1059和#1339。


PMD 5.3.1和更高版本已修复此问题。

暂时,您需要手动修复规则集文件并将UseSingleton替换为UseUtilityClass。我建议关闭eclipse,在工作区中找到ruleset.xml文件,进行更改,然后启动eclipse。

09-27 22:28