ITPub博客

首页 > 数据库 > 数据库开发技术 > Spring Boot集成pmd插件快速入门Demo

Spring Boot集成pmd插件快速入门Demo

原创 数据库开发技术 作者:hblog 时间:2024-06-08 09:48:51 0 删除 编辑

1.什么是pmd插件?

PMD 插件允许您在项目的源代码上自动运行PMD代码分析工具,并生成带有其结果的站点报告。它还支持与 PMD 一起分发的单独的复制/粘贴检测器工具(或 CPD)。此版本的 Maven PMD 插件使用 PMD 6.42.0 并且需要 Java 8。有关更多信息,请参阅在运行时升级 PMD 。 该插件接受可用于自定义 PMD 工具执行的配置参数。

目标概述

这个插件有以下目标:

  • pmd:pmd根据插件中的规则集和配置集创建 PMD 站点报告。除了站点报告之外,它还可以生成以下任何格式的 pmd 输出文件:xml、csv 或 txt。

  • pmd:aggregate-pmd根据插件中设置的规则集和配置在聚合器项目中创建 PMD 站点报告。除了站点报告之外,它还可以生成以下任何格式的 pmd 输出文件:xml、csv 或 txt。

  • pmd:aggregate-pmd-no-fork在聚合器项目中创建 PMD 站点报告,而无需再次分叉测试编译阶段。

  • pmd:cpd为 PMD 的复制/粘贴检测器 (CPD) 工具创建报告。它还可以生成以下任何格式的 cpd 结果文件:xml、csv 或 txt。

  • pmd:aggregate-cpd在聚合器项目中为 PMD 的复制/粘贴检测器 (CPD) 工具创建报告。它还可以生成以下任何格式的 cpd 结果文件:xml、csv 或 txt。

  • 如果源代码中存在任何 PMD 违规,则pmd:check会导致构建失败。此目标在执行自身之前自动调用pmd:pmd 。

  • 如果源代码中存在任何 PMD 违规,则pmd:aggregate-pmd-check会使聚合器项目中的构建失败。此目标在执行自身之前自动调用pmd:aggregate-pmd 。

  • 如果源代码中存在任何 CPD 违规,则pmd:cpd-check会使构建失败。此目标在执行自身之前自动调用pmd:cpd 。

  • 如果源代码中存在任何 CPD 违规,则pmd:aggregate-cpd-check会使聚合器项目中的构建失败。此目标在执行自身之前自动调用pmd:aggregate-cpd 。

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>

第二种方法:ideal插件

安装

使用

以上只是一些关键代码,所有代码请参见下面代码仓库

代码仓库

  • https://github.com/Harries/springboot-demo

3.测试

运行 mvn pmd:check  ,target/pmd-reports/下会生成检测报告

 


4.引用

  • https://maven.org.cn/plugins/maven-pmd-plugin

  • http://www.liuhaihua.cn/archives/710665.html

原文作者:HBLOG;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论

注册时间:2022-05-04

  • 博文量
    210
  • 访问量
    111758