mvn package 应用程序打包到JAR或WAR中,它仅包含来自项目源的资源和已编译的Java类,我们可以将此JAR文件用作另一个项目中的依赖项
使用简单的java -jar命令启动Spring Boot应用程序,我们需要构建一个胖JAR,需要使用spring-boot-maven-plugin插件的repackage
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
重新打包命令:
mvn clean package spring-boot:repackage
在重新打包的JAR文件中,不仅具有来自项目的已编译Java类,而且还具有启动Spring Boot应用程序所需的所有运行时库
手动执行:
# 先打jar 源文件
mvn package
# 基于源文件打可运行的jar文件
mvn package spring-boot:repackage
我们可以在pom.xml中配置spring-boot-maven-plugin插件, 以在Maven生命周期的打包阶段执行重新打包 。换句话说,当我们执行MVN打包,spring-boot:repackage将自动执行,测试结果不加repackage ,只要加了spring-boot-maven-plugin插件,运行mvn package,也会自动运行,生成胖jar
<build>
<finalName>${project.artifactId}</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>