maven-pmd-plugin использует только связанные наборы правил - PullRequest
3 голосов
/ 05 декабря 2011

Я использую плагин maven-pmd-в своем проекте, и вот как я его настроил

<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, но ошибки все еще отображаются в моей целевой папке. Почему я получаю здесь успех?

1 Ответ

4 голосов
/ 06 декабря 2011

Я решил это, просто добавив плагины в разделе сборки вместе с плагинами в разделе отчетов.

Каким-то образом он должен был быть в наличии, чтобы иметь возможность запускать все наборы правил. Ранее у меня сложилось впечатление, что мы помещаем плагины в сборку, только если мы хотим запустить их на этапе сборки и развертывания.

...