如何在执行mvn spring-boot:run时使用mvn package生成的fat-jar?
问题解答
spring-boot:run 的设计逻辑就是直接编译运行项目源码类文件,而非基于打包后的fat jar启动,所以没有直接配置能让它以fat jar作为输入运行。不过可以通过两种间接方式实现类似效果:
整合打包与运行步骤
在pom.xml中配置自定义maven生命周期,将打包和运行fat jar的操作绑定在一起,示例配置如下:<build> <plugins> <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>3.1.0</version> <executions> <execution> <id>run-fatjar</id> <phase>package</phase> <goals> <goal>exec</goal> </goals> <configuration> <executable>java</executable> <arguments> <argument>-jar</argument> <argument>${project.build.directory}/${project.build.finalName}.jar</argument> </arguments> </configuration> </execution> </executions> </plugin> </plugins> </build>配置完成后,执行
mvn package就能自动完成打包并运行fat jar。手动分步执行
直接依次执行两条命令,步骤直观适合临时测试:mvn package java -jar target/YOUR_APPLICATION_AS_FAT_JAR.jar
补充说明:spring-boot:run主打开发阶段的热加载、快速调试,而fat jar启动更贴近生产环境运行模式,两者应用场景有明确区分。
内容的提问来源于stack exchange,提问作者jabrena
相关产品推荐
相关产品推荐

