PMD插件允许您在项目的源代码上自动运行PMD代码分析工具,并生成带有其结果的站点报告。它还支持与PMD一起分发的单独复制/粘贴检测器工具(或CPD)。
此插件有4个目标:
**pmd:pmd*根据插件中的规则集和配置集创建pmd站点报告。它还可以生成站点报告以外的pmd输出文件,格式如下:xml、csv或txt。
**pmd:cpd为pmd的复制/粘贴检测器(cpd)工具生成报告。它还可以生成以下任何格式的cpd结果文件:xml、csv或txt。
**pmd:check验证pmd报告是否为空,如果为空则生成失败。执行pmd:pmd时,默认执行此目标。
**pmd:cpd check*验证cpd报告是否为空,如果不是,则生成失败。在执行pmd:cpd时,默认执行此目标。
PMD和CPD报告共享相同的配置。例如,下面告诉Maven将PMD和CPD报告作为站点报告生成的一部分运行。
如果使用linkXRef参数启用此选项,则报告将直接链接到交叉引用源。有关更多详细信息,请参阅JXR插件。以下是可能的配置:
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.10.0</version>
<configuration>
<linkXref>true</linkXref>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>1.5</targetJdk>
<excludes>
<exclude>**/*Bean.java</exclude>
<exclude>**/generated/*.java</exclude>
</excludes>
<excludeRoots>
<excludeRoot>target/generated-sources/stubs</excludeRoot>
</excludeRoots>
</configuration>
</plugin>
</plugins>
</reporting>
...
</project>
PMD插件使用PMD代码分析工具生成PMD和CPD报告。
要在项目站点中包含带有默认规则集和配置的报告,请在POM部分中设置以下内容:
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.10.0</version>
</plugin>
</plugins>
</reporting>
...
</project>
您还可以显式执行PMD插件,并通过在POM部分中设置插件来生成相同的报告,如下所示:
<project>
...
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.10.0</version>
</plugin>
</plugins>
</build>
...
</project>
使用规则集PMD插件提供了一个默认规则集,其中启用了各种规则。该规则集可用作/rulesets/java/maven-pmd-plugin-default.xml。请参阅下面的规则,这些规则是使用默认规则集启用的。
<project>
...
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>3.10.0</version>
<configuration>
<rulesets>
<!-- A rule set, that comes bundled with PMD -->
<ruleset>/category/java/bestpractices.xml</ruleset>
<!-- Custom local file system rule set -->
<ruleset>d:\rulesets\strings.xml</ruleset>
<!-- Custom remote rule set accessed via a URL -->
<ruleset>http://localhost/design.xml</ruleset>
</rulesets>
</configuration>
</plugin>
</plugins>
</reporting>
...
</project>
在这个快速指南中,我们介绍了PMD插件,并给出了使用和定制它的说明。此外,我们还看到了不同的插件目标及其用法。
参考:https://maven.apache.org/plugins/maven-pmd-plugin/
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://www.javaguides.net/2018/06/apache-maven-pmd-lugin.html
内容来源于网络,如有侵权,请联系作者删除!