java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringBoot依赖和代码分开打包

SpringBoot依赖和代码分开打包的实现步骤

作者:每天吃八顿

本文主要介绍了SpringBoot依赖和代码分开打包的实现步骤,,这种方法将依赖和代码分开打包,一般更新只有代码修改,Pom文件是不会经常改动的,感兴趣的可以了解一下

前言

在公司的项目中,一个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依赖和代码分开打包的实现步骤的文章就介绍到这了,更多相关SpringBoot依赖和代码分开打包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文