SpringBoot依赖和代码分开打包

编程入门 行业动态 更新时间:2024-10-18 05:50:54

SpringBoot依赖和<a href=https://www.elefans.com/category/jswz/34/1771412.html style=代码分开打包"/>

SpringBoot依赖和代码分开打包

前言

在公司的项目中,一个SpringBoot工程可能就上百MB,这时候当线上网速不佳的时候,部署起来就十分的痛苦了。。经常等好久才能上传完毕,接下来我来教大家一个SpringBoot工程代码和依赖分开打包的方法。这种方法将依赖和代码分开打包,一般更新只有代码修改,Pom文件是不会经常改动的~

效果展示

分开打包前

足足有191MB

分开打包后

只剩3.5MB了

减负的效果拔群

创建新工程

工程结构

我新建了一个SpringBoot工程,目录结构如下。

测试工程是否可用

就是一个非常简单的工程,只有一个Controller,让我们来启动然后调用一下TestController里面的test方法

调用结果

调用结果是正常的,也通过MyBatis-plus读取到了数据的内容

正式开始

分离依赖

target目录结构

当我们运行成功后,在项目的target目录下,会自动给我们生成项目名-1.0-SNAPSHOT.jar文件,如图一所示。如果没有生成的话,大家可以点击右侧的Maven生成,如图二所示。

打开文件拓展名

这里我们是生成了.jar文件的,那就进入到下一步,将jar文件重命名成.zip文件,如果有同学没打开文件扩展名的选项,可以在图一所示的地方打开文件扩展名选项即可。

修改文件拓展名

这个时候我们已经将.jar改成.zip了,双击打开或者使用压缩工具打开都可以。

如果改成zip报错可以改成rar

如果打开时候提示报错,可以将.zip换成.rar试试哦

压缩包目录

打开后的文件目录如下图所示

解压出lib目录

接着我们选择第一个文件夹BOOT-INF,然后可以看到它下面有两个二级文件夹,其中一个就是lib,这个就是我们想要的文件夹。我们可以双击打开看看里面存放的都是什么文件。

我们打开后发现里面都是依赖文件,所以这就是我们想要的依赖包

然后我们把这个lib依赖解压出来,解压位置随意。

修改Pom文件

将lib文件夹解压出来后,我们开始修改Pom文件,这个时候我们已经将依赖分离出来了,我们只需要打包代码即可。
所以我们修改Pom文件分两种情况

情况一

在Pom文件下的build节点下已经有pluginManagement节点,找到下面这个节点,将图片红框中的几行复制进去

情况二

在Pom文件下的build节点下还没有pluginManagement节点,直接将我下面提供的pluginManagement节点复制到build节点底下即可。

<pluginManagement><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.3.2.RELEASE</version><configuration><finalName>boot-template</finalName><layout>ZIP</layout><includeSystemScope>true</includeSystemScope><executable>true</executable><includes><include><groupId>nothing</groupId><artifactId>nothing</artifactId></include></includes></configuration><executions><execution><goals><goal>repackage</goal></goals></execution></executions></plugin></plugins></pluginManagement>

重新打包

接下来第一步先点击右上方的加载Maven更改,或者使用快捷键Ctrl+shift+o,然后点击右侧Maven菜单下的生命周期里面的package即可

图一是控制台的输出,图二是打包后的文件,我们可以看到这次打包后只有132KB

测试jar包

我们接下来测试分离完后的jar包是否正常使用,我们将lib文件夹和jar包放在同一个目录下面,然后打开一个cmd窗口,输入下面命令–记得将IDEA里面的工程停了,不然会报端口被占用哦。

java -Dloader.path=./lib -jar boot-template.jar

命令解释:-Dloader.path 用来指定lib存放位置,下面是运行成功截图~

测试接口

接着我们来测试接口功能是否正常,我们回到接口工具重新调用了一次test接口,发现返回的数据没区别

在CMD里面我们也可以看到,连接MySQL也没啥问题。到此本文结束,如有问题请可以在评论区发出来或者私信我哦~

备注

细心的小伙伴发现,如果我们改了Pom文件要怎么办呢?当然是把之前加的那几行去掉,然后重新解压一次lib包即可

更多推荐

SpringBoot依赖和代码分开打包

本文发布于:2023-12-03 10:28:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1654327.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:代码   SpringBoot

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!