3

プロジェクトでmaven-pmd-pluginを使用していますが、これが構成方法です

<reporting>
 <plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jxr-plugin</artifactId>
    <version>2.3</version>
  </plugin>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-pmd-plugin</artifactId>
    <version>2.6</version>
    <configuration>
     <linkXref>true</linkXref>
     <sourceEncoding>UTF-8</sourceEncoding>
     <minimumTokens>100</minimumTokens>
     <targetJdk>${targetJdk}</targetJdk>
       <rulesets>
           <ruleset>${maven.pmd.rulesetfiles}</ruleset>
       </rulesets>
    </configuration>
  </plugin>
 </plugins>
</reporting>

上記の構成で使用されるプロパティは次のとおりです。

<properties>
<spring.version>3.0.6.RELEASE</spring.version>
<basedir>C:\Users\Q4\workspace\project</basedir>
<maven.pmd.rulesetfiles>${basedir}\pmdRuleset.xml</maven.pmd.rulesetfiles>
<targetJdk>1.5</targetJdk>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

問題は、mvn pmd:check を実行すると、基本的な未使用コードとインポートからのみ 8 つの違反が発生することです。カスタムルールセットファイルにリストしたすべてのルールを使用するわけではありません。カスタムルールセットファイルを使用せずに、ルールセットで logging-java.xml と strings.xml を直接使用しようとしましたが、それでも機能しません。

mvn pmd:pmd を実行すると、BUILD SUCCESS が表示されますが、ターゲット フォルダーにエラーが表示されます。ここでビルドが成功するのはなぜですか?

4

1 に答える 1

4

レポートセクションのプラグインと一緒にビルドセクションにプラグインを追加するだけで、これを解決しました。

何らかの形で、すべてのルールセットを実行できるようにする必要がありました。以前は、ビルドとデプロイの段階でプラグインを実行したい場合にのみ、プラグインをビルドに入れるという印象を受けていました。

于 2011-12-06T05:29:42.117 に答える