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


相关文章
|
21天前
|
安全 Java 数据库
SpringSecurity认证授权及项目集成
本文介绍了基于Spring Security的权限管理框架,涵盖认证、授权与鉴权核心概念,通过快速入门示例演示集成流程,并结合数据库实现用户认证。进一步扩展实现正常登录,JWT登录及鉴权管理器,实现灵活的安全控制,适用于前后端分离项目中的权限设计与实践。
160 4
|
1月前
|
资源调度 JavaScript 前端开发
在Vue 3项目中集成Element Plus组件库的步骤
总结起来,在集成过程当中我们关注于库本身提供功能与特性、环境搭建与依赖管理、模块化编程思想以及前端工程化等方面知识点;同时也涵盖前端性能优化(比如上文提及“按需加载”)与定制化开发(例如“自定义主题”)等高级话题.
135 16
|
3月前
|
JSON 分布式计算 大数据
springboot项目集成大数据第三方dolphinscheduler调度器
springboot项目集成大数据第三方dolphinscheduler调度器
171 3
|
3月前
|
Java 区块链 Maven
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
关于引入maven项目后出现‘parent.relativePath’ of POM错误时的解决方法
368 3
|
3月前
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
294 3
|
3月前
|
Java 关系型数据库 MySQL
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
springboot项目集成dolphinscheduler调度器 实现datax数据同步任务
381 2
|
3月前
|
分布式计算 Java 大数据
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
springboot项目集成dolphinscheduler调度器 可拖拽spark任务管理
198 2
|
2月前
|
Java jenkins 应用服务中间件
结合Jenkins与Tomcat,实施Maven项目的自动构建和部署流程。
任何项目构建和部署的自动化流程,总离不开对各个环节精细把控与密切配合。涉及到源代码管理、构建工具、持续集成服务器以及最终的运行时环境的协调。通过上述简洁实用的步骤,可以实现Maven项目从源代码到运行状态的无缝过渡,进而提升软件开发的效率与质量。
215 0
|
3月前
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
166 0
|
3月前
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
296 0

推荐镜像

更多