使用Springboot 打jar包实现分离依赖lib和配置

网友投稿 373 2022-08-27


使用Springboot 打jar包实现分离依赖lib和配置

目录打jar包实现分离依赖lib和配置操作步骤Springboot中jar包分离(分离lib包)jar包分离介绍jar包分离实施步骤小结一下

打jar包实现分离依赖lib和配置

为了业务需要配置文件和jar分离,便于使用者修改配置信息,在网上找了很久,最终找到一个简单有效的方法。

操作步骤

打开project工程的pom.xml文件,将下列配置粘贴到pom文件中:

1.8

d:/out/

org.apache.maven.plugins

maven-resources-plugin

3.1.0

org.springframework.boot

spring-boot-maven-plugin

org.apache.maven.plugins

maven-jar-plugin

*.**

true

lib/

false

com.sy.xx.Application

config/

${directory}

org.apache.maven.plugins

maven-dependency-plugin

copy-dependencies

package

copy-dependencies

${directory}/lib/

maven-resources-plugin

copy-resources

package

copy-resources

src/main/resources

*.**

ScdkyOTc

${directory}/config

接下来使用maven package打包即可:

打包之后的样子:

这样就完成了配置文件以及lib包和jar的分离了,并且jar在运行的时候会默认去读取config文件夹中的配置,修改起来非常方便。

Springboot中jar包分离(分离lib包)

jar包分离介绍

springboot构建jar部署,通过使用 java -jar xxx.jar 命令启动服务,非常方便。

但是通过maven构建的jar包含 \BOOT-INF\lib\下的所有依赖jar包,导致jar包文件太大。

本文将lib文件夹下所依赖的jar包分离出来,解决文件过大问题。

jar包分离实施步骤

(1)按照正常的springboot项目打包方式,对项目进行打包package,其打包后目录如下:

|--META-INF

|--BOOT-INF

|--classes

|--lib

|--org

打完包后,进行解压。找到\BOOT-INF\lib文件夹,将lib文件夹复制出来,后续使用。

其中\BOOT-INF\lib目录下存放着所有的依赖jar包,ojdbc8-19.8.0.0.jar / lombok-1.18.16.jar / spring-boot-2.4.1.jar … 占用了大量的空间。jar包分离就是将其独立开来。

(2)通过修改pom.xml中的一部分配置,再次打包,此时打包的内容已经排除了其依赖的各种jar包。

org.springframework.boot

spring-boot-maven-plugin

com.ityj.multidb.SpringbootMultiDatasourcesApplication

ZIP

nothing

nothing

repackage

1:直接重新打包,即可

2:如果通过命令:在idea工具中打入:mvn clean dependency:copy-dependencies -DoutputDirectory=target/lib package

两种方式打包都可以,最终的jar包已经排除掉了lib文件。推荐第一种方便快捷。

(3)将第一次打包提取出来的lib文件夹和第二次打的jar包放在同一个目录下,执行以下命令,启动项目:

java -jar -Dloader.path=./lib springboot-multi-datasources-0.0.1-SNAPSHOT.jar

小结一下

springboot项目什么都不用动,直接通过maven工具package打包,进行解压。并把\BOOT-INF\lib目录下的lib文件夹整个内容复制出来。(取出lib文件夹的内容)

在项目pom.xml中的plugin中加入以下内容,注意层级关系以及要把入口类改成对应的项目名。(start到end的内容)

org.springframework.boot

spring-boot-maven-plugin

com.ityj.multidb.SpringbootMultiDatasourcesApplication

ZIP

nothing

nothing

repackage

修改后再次package打包,这次的jar包就没有了依赖内容,文件较小。把生成的jar包放在与首次打包生成的lib文件夹同目录下。

执行启动脚本或者命令即可

java -jar -Dloader.path=./lib springboot-multi-datasources-0.0.1-SNAPSHOT.jar


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:python opencv图像处理(一)(python下载安装教程)
下一篇:python opencv图像处理(二)(python代码大全)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~