最近在学习使用spring-boot
我构建好项目后 pom.xml如下
....
org.springframework.boot
spring-boot-starter-parent
1.3.8.RELEASE
....
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-jar-plugin
2.4
true
lib/
com.xx.Application
当使用了spring-boot的parent后,plugin这样配置,在使用mvn package 后能够自动打包出一个jar,并能用java -jar xx.jar运行。
然后有个新需求,这个时候我这个项目需要归并为另外一个项目的子模块,根据官方文档吧pom.xml改成如下
....
com.xx
platform
1.0-SNAPSHOT
....
org.springframework.boot
spring-boot-dependencies
${spring.boot.version}
pom
import
....
org.springframework.boot
spring-boot-maven-plugin
org.apache.maven.plugins
maven-jar-plugin
2.4
true
lib/
com.xx.Application
就是parent变动了下,其他依赖和插件都没变。此时我使用mvn package打出的jar包只有几百KB,也就是依赖的jar包没有被自动引入。同时,jar包里面也没有orgspringframeworkbootloader这层目录了。
现在该怎么处理才能打出对的jar包?
造化弄人,看到直接可以使用spring-boot-maven-plugin来打包,所以直接修改下spring-boot-maven-plugin的配置,改成如下,运行mvn package OK
写的有点乱 请见谅!
org.springframework.boot
spring-boot-maven-plugin
com.xx.Application
ZIP
repackage
感谢:
Maven构建一个多模块的Spring Boot + Spring MVC项目,完全基于java config
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
用Gradle吧,天然支持多模块打包。只需一个简单的配置:
a项目的build.gradle文件:
这样子配置一下,打包就是一个jar包了。