2011-12-05 59 views
3

我使用我的項目的Maven的PMD-插件,這是我已經配置的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時:檢查,它給了我8個違規 - 只從基本的,未使用的代碼和導入。它根本不使用我在自定義規則集文件中列出的所有規則。我甚至直接在規則集中嘗試使用logging-java.xml和strings.xml,而不使用自定義規則集文件,它仍然不起作用。

當我運行mvn pmd:pmd時,我得到了一個BUILD成功,但錯誤仍顯示在我的目標文件夾中。爲什麼我在這裏獲得成功?

回答

4

我通過簡單地在構建部分添加插件以及報告部分中的插件來解決此問題。

不知何故,它也需要在運行所有規則集。之前我的印象是,只有當我們想在構建和部署階段運行它們時,我們纔會在插件中加入插件。

+0

如果您運行'mvn site',則認爲規則集正確 – herau