当使用 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 阶段即可。