文章目录
- Maven 的其它插件
- dockerfile 插件
- Apache Maven Checkstyle Plugin
- p3c-pmd
Maven 的其它插件
dockerfile 插件
dockerfile-maven-plugin 是 spotify 公司新提供的、用以替代 docker-maven-plugin 的插件,它同样是用于在 maven 中将当前项目打成一个 docker image 。 相较于 docker-maven-plugin 而言,dockerfile-maven-plugin 更简洁、方便。
<plugin><groupId>com.spotify</groupId><artifactId>dockerfile-maven-plugin</artifactId><version>1.4.13</version><configuration><repository>${project.artifactId}</repository><tag>${project.version}</tag><buildArgs><JAR_FILE>${project.build.finalName}.jar</JAR_FILE></buildArgs></configuration>
</plugin>
dockerfile-maven-plugin 插件会要求在项目的根目录下(也就是 pom.xml 文件的平级目录下)存在一个 Dockerfile 文件,它会去用这个 Dockerfile 文件生成 docker image 。
FROM openjdk:8-jre-slim-bullseye
ARG JAR_FILE
ADD target/${JAR_FILE} app.jarEXPOSE 8080
ENTRYPOINT exec java -jar /app.jar
## ENTRYPOINT ["java", "-jar", "/app.jar"]
Apache Maven Checkstyle Plugin
Apache 基金会的 maven checkstyle 插件能帮程序员检测代码中不符合规范的地方,大大方便程序开发。
checkstyle 默认使用 sun 公司的编程规范来检查代码规范。如果你像自定义校验规则,你需要提供一个 checkstyle.xml 配置文件,在配置文件中按 checkstyle 的规则启用或关闭某个规则。
不过随着《阿里巴巴 Java 开发手册》的流行,阿里巴巴推出了类似的 maven 插件 p3c-pmd,因此,checkstyle 慢慢被 p3c-pmd 取代了。
p3c-pmd
P3C-PMD 插件基于 PMD 实现了《阿里巴巴 Java 开发手册》中涉及的 48 条规则。
<!-- 在 <plugins>...</plugins> 里面 -->
<plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-pmd-plugin</artifactId><version>3.13.0</version><configuration><rulesets><ruleset>rulesets/java/ali-naming.xml</ruleset><!--<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-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>validate</id><phase>validate</phase><goals><goal>check</goal></goals></execution></executions><dependencies><!-- 需要使用阿里的一些 xml 文件,因此需要这里增加 p3c 的依赖 --><dependency><groupId>com.alibaba.p3c</groupId><artifactId>p3c-pmd</artifactId><version>2.1.0</version></dependency></dependencies>
</plugin>