ant build.xml の pmd スクリプトは次のとおりです。
<property name="pmd.dir" value="${basedir}/pmd" /><!-- directory that contains pmd.jar -->
<property name="pmd.test.results" location="${build.dir}/pmd"/>
<path id="pmd.lib" >
<fileset dir="${pmd.dir}">
<include name="*.jar"/>
<exclude name="/rulesets" />
</fileset>
</path>
<target name="pmd" depends="compile" >
<taskdef name="pmd" classname="net.sourceforge.pmd.ant.PMDTask" classpathref="pmd.lib"/>
<pmd shortFilenames="true">
<ruleset>b</ruleset>
<formatter type="text" toFile="pmd-ant-results.txt"/>
<fileset dir="src">
<include name="**/*.java"/>
</fileset>
</pmd>
</target>
これは私のプロジェクト エクスプローラーのスクリーン ショットです。これはruleset.xmlへのペーストビン リンクです。
(出典: iforce.co.nz )
そして、ここにエラーがあります
PMD:
ビルドに失敗しました C:\Users\Michael\Desktop\log4jassignment.s06005586\build.xml:112: リソース ruleset/java/basic.xml が見つかりません。リソースが有効なファイルまたは URL であること、または CLASSPATH 上にあることを確認してください。現在のクラスパスは次のとおりです: C:\Program Files\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib\ant-antlr.jar;C:\Program Files\eclipse\plugins\org.apache.ant_1 .8.3.v20120321-1730\lib\ant-apache-bcel.jar;C:\Program Files\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib\ant-apache-bsf.jar;C :\Program Files\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib\ant-apache-log4j.jar;C:\Program Files\eclipse\plugins\org.apache.ant_1.8.3.v20120321 -1730\lib\ant-apache-oro.jar;C:\Program Files\eclipse\plugins\org.apache.ant_1.8.3.v20120321-1730\lib\ant-apache-regexp.jar;C:\Program Files \eclipse\plugins\org.apache.ant_1.8.3.
私が抱えている主な問題は、pmd と ant に関する情報が不足していることです (そこには何もありません)。ルールセットを正しく設定していません (ただし、ant/pmd の実装に関する情報が不足しているため、判断する方法はありません)...