2

当使用springboot的maven插件的时候,默认是生成的可执行jar包,如果我们想让其生成普通的jar包该怎么做呢?

一、解决办法

直接上方法

mvn clean package -D spring-boot.repackage.skip=true 

加上-Dspring-boot.repackage.skip=true参数即可,此时只会生成一个普通的jar包

二、理解

当使用SpringBoot开发项目的时候,会使用到spring-boot-maven-plugin插件

官方文档:https://docs.spring.io/spring...

Spring Boot Maven plugin有5个Goals:

命令 说明
spring-boot:repackage 默认goal。在mvn package之后,再次打包可执行的jar/war,<br/>并将mvn package生成的软件包重命名为*.original
spring-boot:run 运行Spring Boot应用
spring-boot:start 在mvn integration-test阶段,进行Spring Boot应用生命周期的管理
spring-boot:stop 在mvn integration-test阶段,进行Spring Boot应用生命周期的管理
spring-boot:build-info 生成Actuator使用的构建信息文件build-info.properties

当时用spring-boot-maven-plugin插件时,下面的mvn命令会生成两个文件:

mvn package

执行后会看到生成的两个jar文件:

  • *.jar
  • *.jar.original

这是由于在执行上述命令的过程中,Maven首先在package阶段打包生成*.jar文件;然后执行spring-boot:repackage重新打包,将之前的*.jar包重命名为*.jar.original,然后生成springboot的可执行jar包文件*.jar

所以,我们只需要跳过spring-boot:repackage阶段即可。


Developer
1.4k 声望123 粉丝

只要还在学习,人生就有无限的希望...