1,默认打包
一般我们在需要使用SpringBoot Maven插件进行打包时,通常会使用如下插件依赖:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 关键配置:指定主类 –>
<mainClass>org.example.GrpcApplication</mainClass>
</configuration>
</plugin>
假设我们设置的版本号为1.0.0,则最后生成的jar包为: ${artifactId}-${version}.jar
但这种有个问题,一般我们的部署脚本(jenkins、执行命令脚本)都会定死一个jar包名,而我们业务上这个版本号会 经常进行变更,这就导致我们需要频繁进行更改很麻烦。
2,打两个包,默认包+exec固定包
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 关键配置:指定主类 –>
<mainClass>org.example.GrpcApplication</mainClass>
<!– 关键配置:生成exec包 –>
<classifier>exec</classifier>
</configuration>
</plugin>
假设我们设置的版本号为1.0.0,则最后生成的jar包为: ${artifactId}-${version}.jar、${artifactId}-${version}-exec.jar
3,打两个包,不含版本号包+exec固定包
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 关键配置:指定主类 –>
<mainClass>org.example.GrpcApplication</mainClass>
<!– 关键配置:生成exec包 –>
<classifier>exec</classifier>
<!– 关键配置:设置最终文件名 –>
<finalName>${project.artifactId}</finalName>
</configuration>
</plugin>
假设我们设置的版本号为1.0.0,则最后生成的jar包为: ${artifactId}-${version}.jar、${artifactId}-exec.jar
4,打一个包,不含版本号包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 关键配置:指定主类 –>
<mainClass>org.example.GrpcApplication</mainClass>
<!– 关键配置:生成exec包 –>
<classifier>exec</classifier>
<!– 关键配置:设置最终文件名 –>
<finalName>${project.artifactId}</finalName>
</configuration>
</plugin>
</plugins>
<!– 全局定义 JAR 名称(不带版本号) –>
<finalName>${project.artifactId}</finalName>
</build>
假设我们设置的版本号为1.0.0,则最后生成的jar包为: ${artifactId}.jar、${artifactId}-exec.jar
5,只生成一个不含版本号的指定名称的jar包
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<!– 关键配置:指定主类 –>
<mainClass>org.example.GrpcApplication</mainClass>
</configuration>
</plugin>
</plugins>
<!– 全局定义 JAR 名称(不带版本号) –>
<finalName>${project.artifactId}</finalName>
</build>
假设我们设置的版本号为1.0.0,则最后生成的jar包为: ${artifactId}.jar
评论前必须登录!
注册