背景
最近在设计开发部门的基础架构,其中一项功能是实现Spring Boot项目的编译、打包并生成Docker镜像。但每个项目的
main class
和默认生成的jar包文件名称
都不一致,为了减少使用者的配置成本,我就需要尝试一种方式能指定main class
和jar包文件名称
。
实现
spring-boot-maven-plugin配置
可以通过spring-boot-maven-plugin
插件的<finalName>
和<mainClass>
标签来指定main class
和jar包文件名称
。spring-boot-maven-plugin`插件的配置如下面的代码所示:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.0.1.RELEASE</version>
<configuration>
<finalName>${jarFileName}</finalName>
<mainClass>${mainClass}</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
通过命令行传参
mvn clean package -DmainClass=com.yidian.boot.demo.DemoApplication\
-DjarFileName=service
pom.xml中配置参数
<project>
...
<properties>
<jarFileName>service</jarFileName>
<mainClass>com.yidian.boot.TestApplication</mainClass>
</properties>
...
</project>
网友评论