最近在学习使用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
用Gradle吧,天然支持多模块打包。只需一个简单的配置:
a项目的build.gradle文件:
dependencies { compile project(':hello')//a项目依赖hello项目 }
这样子配置一下,打包就是一个jar包了。