前言
网上复制来,复制去,都不知道原因,瞎搞。故写了此篇文档;
以下代码,直接复制到pom.xml中就好使。
需求
阿里巴巴Java规约p3c-pmd与maven集成,实现maven package打包前校验,如果校验不通过则打包失败;
实现
在pom.xml的plugins节点里,添加如下代码即可实现:
plugin>
groupId>org.apache.maven.pluginsgroupId>
artifactId>maven-pmd-pluginartifactId>
version>3.21.0version>
configuration>
verbose>trueverbose>
rulesets>
ruleset>rulesets/java/ali-comment.xmlruleset>
ruleset>rulesets/java/ali-concurrent.xmlruleset>
ruleset>rulesets/java/ali-constant.xmlruleset>
ruleset>rulesets/java/ali-exception.xmlruleset>
ruleset>rulesets/java/ali-flowcontrol.xmlruleset>
ruleset>rulesets/java/ali-naming.xmlruleset>
ruleset>rulesets/java/ali-oop.xmlruleset>
ruleset>rulesets/java/ali-orm.xmlruleset>
ruleset>rulesets/java/ali-other.xmlruleset>
ruleset>rulesets/java/ali-set.xmlruleset>
rulesets&g服务器托管t;
printFailingErrors>trueprintFailingErrors>
configuration>
executions>
execution>
id>pmd-check-verifyid>
phase>packagephase>
goals>
goal>checkgoal>
goals>
execution>
execution>
id>pmd-pmd-siteid>
phase>sitephase>
goals>
goal>cpdgoal>
goals>
execution>
executions>
dependencies>
dependency>
groupId>com.alibaba.p3cgroupId>
artifactId>p3c-pmdartifactId>
version>2.1.1version>
dependency>
depend服务器托管encies>
plugin>
以上涉及到的rulesets/java/ali-**.xml(阿里的校验规则文件)。使用的是dependency依赖过来的p3c-pmd里面的规则文件,故不需要单独额外创建
效果
执行maven package时,会先根据阿里规范进行代码校验,并且在项目下生成报告文件targetsitepmd.html
原理
阿里的p3c是基于maven PMD开发的,所以可以直接用。
详细看看官网PMD介绍即可
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net