当使用springboot的maven插件的时候,默认是生成的可执行jar包,如果我们想让其生成普通的jar包该怎么做呢?
一、解决办法
直接上方法
mvn clean package -D spring-boot.repackage.skip=true
加上-Dspring-boot.repackage.skip=true
参数即可,此时只会生成一个普通的jar包
二、理解
当使用SpringBoot开发项目的时候,会使用到spring-boot-maven-plugin
插件
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
阶段即可。