我试图找出默认规则集文件的位置,默认规则集文件的名称以及我们如何向其添加自己的规则。我试图谷歌,但这只是让我感到困惑。到目前为止,我已将pmd插件放在eclipse插件文件夹中,在首选项中我可以看到PMD。
答案 0 :(得分:24)
标准规则集文件 pmd-bin-x.x.x.zip /.../ lib / pmd-x.x.x.jar / rulesets / 中的 *。xml , 参考http://pmd.sourceforge.net/rules/index.html。
PMD Eclipse Plugin 的默认规则集文件位于 {IDE} / plugins /...中的 pmd ___。jar 内,但您不应该在该文件中进行任何更改。 Eclipse Preferences中的 Add/edit the rules ,任何更改都将优先于默认规则集。
答案 1 :(得分:4)
在使用Ant和PMD很长一段时间后,这是我提出的完整解决方案。根据自己的喜好修改。
这设置了我使用的初始目录。
<property name="doc" location="doc" /> <!-- Root for all documentation: -->
<property name="pmddoc" location="${doc}/pmddoc" /> <!-- PMD results -->
这是我的任务定义,它指出了我存储它的最新版本的PMD。它包括PMD Jar本身(存储所有规则)和所有PMD的依赖性。
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask">
<classpath>
<fileset dir="C:\development\pmd-bin-5.0-alpha">
<include name="lib/*.jar"/> <!-- also includes pmd's file, which has all the rulesets I need. -->
</fileset>
</classpath>
</taskdef>
在初始化中,我根据需要创建文档文件夹:
<target name="init">
<mkdir dir="${pmddoc}" />
</target>
...最后,我创建了一个专门用于以HTML格式创建PMD报告的目标。在这里。
<target name="pmd" depends="init">
<pmd>
<formatter type="html" toFile="${pmddoc}/pmd_src_report.html" toConsole="true"/>
<ruleset>rulesets/java/basic.xml</ruleset> <!-- references file in PMD's .jar -->
<!-- Files PMD will test. -->
<fileset dir="${src}">
<include name="**/*.java"/> <!-- required to avoid firing off .aj errors. This ruleset doesn't support AspectJ. -->
</fileset>
</pmd>
</target>