我的一个项目使用了maven-pmd-plugin,我发现使用Maven 3.0.5和Maven 3.2.1时会得到不同的结果。所有其他变量(Java版本,操作系统版本,项目配置)。我也试过的Maven 3.1.1不同的Maven版本给出了不同的pmd结果
我在命令行上运行
mvn clean pmd:pmd
在Maven的3.0.5,我得到一个警告:
<violation beginline="44" endline="307" begincolumn="8" endcolumn="1" rule="MoreThanOneLogger" ruleset="Java Logging" package="com.adobe.acs.commons.logging.impl" externalInfoUrl="${pmd.website.baseurl}/rules/java/logging-java.html#MoreThanOneLogger" priority="2">
Class contains more than one logger.
</violation>
在Maven 3.2.1(和3.1.1)中,我得到零警告。
我也试着删除我的自定义rulset,现在有行家-PMD-plugin的配置是这样的:
<plugin>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.1</version>
<configuration>
<linkXRef>false</linkXRef>
<rulesets>
<ruleset>/rulesets/java/logging-java.xml</ruleset>
</rulesets>
<targetJdk>1.6</targetJdk>
</configuration>
</plugin>
具有相同的结果。
在这两种情况下你使用的是相同版本的Maven PMD插件吗? –