欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

使用spring-boot-maven-plugin插件打包spring boot项目

程序员文章站 2022-03-14 15:13:38
在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

使用spring-boot-maven-plugin插件打包spring boot项目

项目的webapp模块的target文件夹输出物如下所示:

使用spring-boot-maven-plugin插件打包spring boot项目

推测是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包。

使用spring-boot-maven-plugin插件打包spring boot项目