1.什么是pmd插件?
PMD 插件允许您在项目的源代码上自动运行
PMD代码分析工具,并生成带有其结果的站点报告。它还支持与 PMD 一起分发的单独的复制/粘贴检测器工具(或 CPD)。
此版本的 Maven PMD 插件使用 PMD 6.42.0 并且需要 Java 8。有关更多信息,请参阅
在运行时升级 PMD 。
该插件接受可用于自定义 PMD 工具执行的配置参数。
2.代码工程
实验目的
使用pmd检查项目中的代码是否违规
第一种方法:maven插件集成
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>springboot-demo</artifactId>
<groupId>com.et</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>pmd</artifactId>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<pmd.version>3.15.0</pmd.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-autoconfigure</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-pmd-plugin</artifactId>
<version>${pmd.version}</version>
<configuration>
<sourceEncoding>utf-8</sourceEncoding>
<minimumTokens>100</minimumTokens>
<targetJdk>${maven.compiler.target}</targetJdk>
<excludes>
<!--<exclude>**/*Bean.java</exclude>-->
<!--<exclude>**/generated/*.java</exclude>-->
</excludes>
<excludeRoots>
<!--<excludeRoot>target/generated-sources/stubs</excludeRoot>-->
</excludeRoots>
<rulesets>
<ruleset>rulesets/java/quickstart.xml</ruleset>
</rulesets>
<outputDirectory>target/pmd-reports</outputDirectory>
</configuration>
<!--在clean后自动执行check-->
<!--<executions>-->
<!--<execution>-->
<!--<id>pmd-check</id>-->
<!--<phase>clean</phase>-->
<!--<goals>-->
<!--<goal>check</goal>-->
<!--</goals>-->
<!--</execution>-->
<!--</executions>-->
</plugin>
</plugins>
</build>
</project>
安装
3.测试
运行 mvn pmd:check ,target/pmd-reports/下会生成检测报告
4.引用