一、背景
最近项目在做微服务的拆分,那么我们想让我们的容器启动更加的轻量级,所以我们选择放弃tomcat等容器,而是通过maven生成带有指定依赖的可执行jar包的方式进行处理,本文我将分享如何通过maven的maven-jar-plugin打包插件来进行生成目的可jar包。
二、原理以及实现步骤
1.原理
我们可以通过修改maven 打jar包的maven-jar-plugin插件的配置信息来生成我们需要的指定依赖的可执行jar包。
2.步骤:在项目的pom.xml文件中修改默认的jar插件
接着我们还要配置maven的maven-dependency-plugin插件把当前项目的所有依赖放到target目录下的lib文件夹下
其中,${project.build.directory}表示默认的target文件夹。
我们通过上文的修改便完成了适用maven生成指定依赖的可执行jar包。
我们发现生成的manifest文件中已经设置好了Main-Class以及Class-Path,如下:
如果<addClasspath>设置为false,则生成的manifest文件中不会声明依赖(即不会有Class-Path声明)
3.主类
4.pom.xml
我们现在进入生成的jar包所在的文件夹下,使用 java -jar xxx.jar来执行生成的jar包
到此我们就完成了如何使用maven的jar包生成插件来进行生成指定依赖的可执行jar包。
代码Github地址:https://github.com/hafizzhang/assembly-demo.git