spring boot 将dependency 从fat jar 中抽取出来
之前公司要求用spring boot 把dependency的jar包fat jar中抽取出来,方便以后修改源码上传使用,经过几番周折发现,虽然spring boot 志在把所有jar打在一起实现嵌套访问的效果,但是同时也提供了把dependency jar 分离开的操作,现在记录一下,防止以后用到 :
1 . 首先要有一个spring boot 的项目
2 . 配置application.properties 文件,该文件一般在resources 下面, 添加下面的属性:
loader.path=D:/workspace/lib
这个路径就是你的dependency jar 所在的路径, 可以自行修改。 但key不能变
3 . 配置pom.xml , 相信用过spring boot 的人都熟悉spring-boot-maven-plugin这个插件,
只要在这个插件下面添加如下代码,就可以实现了:
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<layout>ZIP</layout>
</configuration>
</plugin>
</plugins>
4 . 编译打包
注: spring-boot-maven-plugin 这个插件会去重写你项目中的Manifest.mf文件, 打开打包的jar, 查看其中的Manifest.mf 文件, 你会发现main-class 是 org.springframework.boot.loader.PropertiesLauncher
这个是启动文件, 相当于真个spring boot 的”main class” , 这个PropertiesLauncher 其实就是第三步中配置的“ZIP” 。
本文介绍如何在SpringBoot项目中将依赖的jar包从fatjar中分离出来,以便于后期维护和更新。通过配置application.properties文件指定外部依赖路径,并在pom.xml中使用spring-boot-maven-plugin插件进行相应设置。
6267

被折叠的 条评论
为什么被折叠?



