2011-12-05 38 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