---
title: Maven 插件之代码检查
date: 2019-12-16 17:09:26
order: 06
categories:
- Java
- 软件
- 构建
- Maven
tags:
- Java
- 构建
- Maven
permalink: /pages/3f571b78/
---
# Maven 插件之代码检查
## maven-checkstyle-plugin
> **maven-checkstyle-plugin,用于检测代码中不符合规范的地方。**
### 定义 checkstyle.xml
```xml
```
配置 `pom.xml`:
```xml
...
config/maven_checks.xml
...
org.apache.maven.plugins
maven-checkstyle-plugin
3.0
validate
validate
style/checkstyle.xml
UTF-8
true
true
false
check
org.apache.maven.plugins
maven-jxr-plugin
2.3
...
```
其中可以修改使用的检查规则文件路径,插件默认提供了四个规则文件可以直接使用,无需手动下载:
- config/sun_checks.xml - Sun Microsystems Definition (default).
- config/maven_checks.xml - Maven Development Definitions.
- config/turbine_checks.xml - Turbine Development Definitions.
- config/avalon_checks.xml - Avalon Development Definitions.
配置好后,可以执行 `mvn clean checkstyle:check` 检查代码。
## maven-pmd-plugin
> maven-pmd-plugin 是阿里编程规范检查插件。
配置 `pom.xml`:
参考 https://github.com/alibaba/p3c/blob/master/p3c-pmd/pom.xml 配置
```xml
org.apache.maven.plugins
maven-pmd-plugin
3.11.0
${project.build.sourceEncoding}
${maven.compiler.target}
true
rulesets/java/ali-comment.xml
rulesets/java/ali-concurrent.xml
rulesets/java/ali-constant.xml
rulesets/java/ali-exception.xml
rulesets/java/ali-flowcontrol.xml
rulesets/java/ali-naming.xml
rulesets/java/ali-oop.xml
rulesets/java/ali-orm.xml
rulesets/java/ali-other.xml
rulesets/java/ali-set.xml
true
verify
check
com.alibaba.p3c
p3c-pmd
2.0.0
```
配置好后,可以执行 `mvn clean pmd:check` 检查代码。
## 参考资料
- https://maven.apache.org/plugins/maven-checkstyle-plugin/
- https://maven.apache.org/jxr/maven-jxr-plugin/
- https://www.jianshu.com/p/557b975ae40d
- 阿里巴巴编程规范
- https://github.com/alibaba/p3c
- https://github.com/alibaba/p3c/blob/master/p3c-pmd/pom.xml