springboot maven项目集成阿里p3c-pmd插件使用

简介: springboot maven项目集成阿里p3c-pmd插件使用

阿里巴巴规约使用的是pmd代码静态分析工具,通过maven-pmd-plugin这个maven插件实现。

pom文件引入

<!-- 阿里p3c插件 -->
<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-pmd-plugin</artifactId>
  <version>3.15.0</version>
  <configuration>
    <verbose>true</verbose>
    <!-- 规范的配置 -->
    <rulesets>
      <ruleset>rulesets/java/ali-comment.xml</ruleset>
      <ruleset>rulesets/java/ali-concurrent.xml</ruleset>
      <ruleset>rulesets/java/ali-constant.xml</ruleset>
      <ruleset>rulesets/java/ali-exception.xml</ruleset>
      <ruleset>rulesets/java/ali-flowcontrol.xml</ruleset>
      <ruleset>rulesets/java/ali-naming.xml</ruleset>
      <ruleset>rulesets/java/ali-oop.xml</ruleset>
      <ruleset>rulesets/java/ali-orm.xml</ruleset>
      <ruleset>rulesets/java/ali-other.xml</ruleset>
      <ruleset>rulesets/java/ali-set.xml</ruleset>
    </rulesets>
    <printFailingErrors>true</printFailingErrors>
  </configuration>
  <executions>
    <execution>
      <id>pmd-check-verify</id>
      <phase>package</phase>
      <goals>
        <goal>check</goal>
      </goals>
    </execution>
    <execution>
      <id>pmd-pmd-site</id>
      <phase>site</phase>
      <goals>
        <goal>cpd</goal>
      </goals>
    </execution>
  </executions>
</plugin>

执行命令:mvn pmd:cpd


pmd有以下几个命令:


check:代码检测,没通过,就编译失败

cpd:执行会创建一个详细报表

cpd-check:没通过,就编译失败

pmd:生成详细报表

pmd configuration配置说明

<configuration> 标签是用来配置 maven-pmd-plugin 插件的。以下是 maven-pmd-plugin 插件的一些常用配置属性及其含义:


showViolations:是否展示违规的具体内容。默认值为 false。

rulesets:指定规则集。可以是内置规则集或外部自定义规则集。

excludes:指定要排除的文件或目录的路径,支持使用通配符。

includes:指定要包含的文件或目录的路径,支持使用通配符。

targetJdk:设置代码运行的目标JDK版本,以便正确解析代码。默认值为当前JDK版本。

skipEmptyReport:是否跳过空报告。默认值为 false。

printFailingErrors:在控制台上输出错误信息。默认值为 false。

linkXref:在生成的HTML报告中包含跨引用链接。默认值为 false。

maximumViolationSeverity:设置要显示的最高违规级别,低于该级别的违规将不被显示。默认值为 5(INFO)。

failOnViolation:是否在发现违规时阻止构建。默认值为 false。

failOnRuleViolation:是否在违反任何规则时阻止构建。默认值为 false。

此外,还有许多其他的属性可以根据需求进行配置。你可以参考官方文档了解更多详细的配置属性和含义:https://maven.apache.org/plugins/maven-pmd-plugin/examples/violations.html


相关文章
|
7天前
|
JavaScript Java 关系型数据库
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
本文介绍了一个基于Spring Boot和Vue.js实现的在线考试系统。随着在线教育的发展,在线考试系统的重要性日益凸显。该系统不仅能提高教学效率,减轻教师负担,还为学生提供了灵活便捷的考试方式。技术栈包括Spring Boot、Vue.js、Element-UI等,支持多种角色登录,具备考试管理、题库管理、成绩查询等功能。系统采用前后端分离架构,具备高性能和扩展性,未来可进一步优化并引入AI技术提升智能化水平。
毕设项目&课程设计&毕设项目:基于springboot+vue实现的在线考试系统(含教程&源码&数据库数据)
|
1天前
|
Java 测试技术 Maven
|
4天前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
18 6
|
2天前
|
Java 测试技术 Maven
|
3天前
|
Java 测试技术 Maven
|
4天前
|
Java 测试技术 Maven
|
5天前
|
消息中间件 Java Kafka
springboot项目启动报错-案例情景介绍
springboot项目启动报错-案例情景介绍
15 2
|
6天前
|
SQL XML Java
springboot整合mybatis-plus及mybatis-plus分页插件的使用
这篇文章介绍了如何在Spring Boot项目中整合MyBatis-Plus及其分页插件,包括依赖引入、配置文件编写、SQL表创建、Mapper层、Service层、Controller层的创建,以及分页插件的使用和数据展示HTML页面的编写。
springboot整合mybatis-plus及mybatis-plus分页插件的使用
|
5天前
|
Java 测试技术 Maven
|
6天前
|
Java 测试技术 Maven

热门文章

最新文章

推荐镜像

更多
下一篇
无影云桌面