maven-pmd-plugin использует только связанные наборы правил

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


person Inxsible    schedule 05.12.2011    source источник


Ответы (1)


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

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

person Inxsible    schedule 06.12.2011
comment
если вы запускаете mvn site, набор правил считается правильным - person herau; 03.07.2014