使用spring-boot-maven-plugin插件打包spring boot项目
程序员文章站
2024-01-09 18:16:34
在spring-boot项目中使用spring-boot-maven-plugin插件进行打包,输出可执行JAR包。项目包含多个模块,当打完包后在本地的maven仓库中发现输出的可执行JAR非常小,并没有引用所有模块的JAR。
折腾了一番后才发现,原来是在使用spring-boot-maven-p... ......
在spring-boot项目中使用spring-boot-maven-plugin插件进行打包,输出可执行JAR包。项目包含多个模块,当打完包后在本地的maven仓库中发现输出的可执行JAR非常小,并没有引用所有模块的JAR。
折腾了一番后才发现,原来是在使用spring-boot-maven-plugin插件上面出了问题。
项目中所使用到的插件配置详细信息如下:
1 <plugin> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-maven-plugin</artifactId> 4 <version>1.5.4.RELEASE</version> 5 <configuration> 6 <mainClass>${start-class}</mainClass> 7 <layout>ZIP</layout> 8 </configuration> 9 <executions> 10 <execution> 11 <goals> 12 <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> 13 </goals> 14 <configuration> 15 <attach>false</attach> 16 </configuration> 17 </execution> 18 </executions> 19 </plugin>
使用这样的配置,输出到本地仓库中的可以执行JAR
项目的webapp模块的target文件夹输出物如下所示:
推测是target文件夹下面jar后面带有.original被输出到本地maven仓库中,应该是上面黑色箭头指向的那个jar才是真正的可执行JAR,应该将这个JAR输出到本地maven仓库中才行。
修改 spring-boot-maven-plugin插件配置,移除掉<configuration></configuration>配置项。
1 <plugin> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-maven-plugin</artifactId> 4 <version>1.5.4.RELEASE</version> 5 <configuration> 6 <mainClass>${start-class}</mainClass> 7 <layout>ZIP</layout> 8 </configuration> 9 <executions> 10 <execution> 11 <goals> 12 <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中--> 13 </goals> 14 </execution> 15 </executions> 16 </plugin>
修改完成之后,重新打包,本地maven仓库中出现想要的可执行JAR包。
上一篇: MySQL优化之安全地关闭MySQL实例
下一篇: Lock的使用
推荐阅读
-
使用Gradle构建Spring boot项目
-
使用IDEA构建spring boot项目中踩过的坑
-
使用spring-boot-maven-plugin插件打包spring boot项目
-
spring boot项目使用@JsonFormat失效问题的解决
-
idea创建一个入门Spring Boot项目(controller层)使用Moven代码管理
-
详解使用Jenkins部署Spring Boot项目
-
详解如何在Spring Boot项目使用参数校验
-
使用Spirng Boot Admin监控Spring Cloud应用项目
-
使用IntelliJ IDEA 2017.2.5 x64中的Spring Initializr插件快速创建Spring Boot/Cloud工程(图解)
-
Spring Boot 项目中使用Swagger2的示例