0
点赞
收藏
分享

微信扫一扫

阿里巴巴Java规约p3c-pmd与maven集成,实现maven package打包前校验

以沫的窝 2024-04-23 阅读 5

前言

网上复制来,复制去,都不知道原因,瞎搞。故写了此篇文档;
以下代码,直接复制到pom.xml中就好使。

需求

阿里巴巴Java规约p3c-pmd与maven集成,实现maven package打包前校验,如果校验不通过则打包失败;

实现

在pom.xml的plugins节点里,添加如下代码即可实现:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-pmd-plugin</artifactId>
                <!--低版本site站点支持不好,会缺少css文件,导致生成的PMD.html打开页面不好看-->
<!--                <version>3.15.0</version>-->
                <version>3.21.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>
				<dependencies>
					<dependency>
						<groupId>com.alibaba.p3c</groupId>
						<artifactId>p3c-pmd</artifactId>
						<version>2.1.1</version>
					</dependency>
				</dependencies>
            </plugin>

效果

执行maven package时,会先根据阿里规范进行代码校验,并且在项目下生成报告文件target\site\pmd.html

原理

阿里的p3c是基于maven PMD开发的,所以可以直接用。
详细看看官网PMD介绍即可

举报

相关推荐

0 条评论