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


相关文章
|
26天前
|
XML Java 应用服务中间件
SpringBoot项目打war包流程
本文介绍了将Spring Boot项目改造为WAR包并部署到外部Tomcat服务器的步骤。主要内容包括:1) 修改pom.xml中的打包方式为WAR;2) 排除Spring Boot内置的Tomcat依赖;3) 添加Servlet API依赖;4) 改造启动类以支持WAR部署;5) 打包和部署。通过这些步骤,可以轻松地将Spring Boot应用转换为适合外部Tomcat服务器的WAR包。
124 64
SpringBoot项目打war包流程
|
29天前
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
基于springboot+thymeleaf+Redis仿知乎网站问答项目源码
129 36
|
1月前
|
人工智能 达摩院 并行计算
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力
VideoRefer 是浙江大学与阿里达摩学院联合推出的视频对象感知与推理技术,支持细粒度视频对象理解、复杂关系分析及多模态交互,适用于视频剪辑、教育、安防等多个领域。
157 17
VideoRefer:阿里达摩院开源视频对象感知与推理框架,可集成 VLLM 提升其空间和时间理解能力
|
21天前
|
自然语言处理 IDE Java
SpringBoot start.aliyun.com创建项目,解决properties乱码的问题
通过确保文件和开发环境的编码一致,配置 Maven 编码,设置 Spring Boot 应用和嵌入式服务器的编码,可以有效解决 properties 文件的乱码问题。以上步骤可以帮助开发者确保在 Spring Boot 项目中正确处理和显示多语言字符,避免因编码问题导致的乱码现象。
35 5
|
26天前
|
Java jenkins 持续交付
Jenkins集成Maven
通过以上步骤,可以在Jenkins中成功集成Maven,实现自动化构建和部署。通过定时构建、SCM轮询等方式,可以确保代码库中的最新变更能够及时构建和测试,提高开发效率和代码质量。这种集成方式在实际项目中具有广泛的应用前景,能够显著提升团队的协作效率。
42 8
|
3月前
|
XML Java 测试技术
从零开始学 Maven:简化 Java 项目的构建与管理
Maven 是一个由 Apache 软件基金会开发的项目管理和构建自动化工具。它主要用在 Java 项目中,但也可以用于其他类型的项目。
110 1
从零开始学 Maven:简化 Java 项目的构建与管理
|
3月前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
67 2
|
3月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
79 2
|
3月前
|
消息中间件 监控 Java
您是否已集成 Spring Boot 与 ActiveMQ?
您是否已集成 Spring Boot 与 ActiveMQ?
77 0
|
3月前
|
JavaScript 前端开发 Java
SpringBoot项目的html页面使用axios进行get post请求
SpringBoot项目的html页面使用axios进行get post请求
53 0

热门文章

最新文章

推荐镜像

更多