原文链接:http://2kuai3.com/article/5.html
在spring boot 开发中,用maven来管理,不论是eclipse来打包还是 idea打包都需要配置一下,且打包管理的依赖总是太麻烦,那今天就快速的解决打包问题,如在一个父项目在 有 A模块,B模块,C模块,A依赖B和C,需要对A打包,如何快速的把B和C一块也同步打包??
看了网上的许多文章,依然打不好包!!
原理:
java打包可运行jar,就是一个 压缩文件的jar,在MANIFEST.MF 中描述了启动文件的入口和所有依赖的jar文件位置,虽然 spring boot提供了maven的打包的插件,回归本质就是最简单的。
解决方案:
- 按如下配置 在 要打包的pom中,添加 如下三个 maven插件:maven-compiler-plugin、maven-dependency-plugin、maven-jar-plugin
- 按插件要求配置好 main文件的入口类名和项目要依赖 scope 是 system的jar文件 也配置到manifestEntries标签中,maven打包 不会自动把scope=system的jar依赖自动写入到MANIFEST.MF文件中,需要我们自己指定一下,切记
- 配置好后 ,maven-dependency-plugin 是把要依赖的jar都copy到lib文件夹中,包括依赖的其他源码模块一会一同打包,maven-jar