您现在的位置是:首页 > 编程 > 

SpringBoot实现lib包与代码本体分离

2025-07-23 17:26:01
SpringBoot实现lib包与代码本体分离 一、前言最近在编写自己项目的时候,发现部署的过程中,打的Jar包过大,导致传输到服务器上的时候速度有点缓慢。要是平常也就算了,那天我想着就一个小问题就没有本地验证了,直接发上服务器。这是一个不好的习惯,大家不要学 一定要保证代码验证通过后再进行发布部署结果部署后,发现改的不对,连着这样搞了三次。这三次上传的时间,我就觉得等得没有必要了,都是自己的源代

SpringBoot实现lib包与代码本体分离

一、前言

最近在编写自己项目的时候,发现部署的过程中,打的Jar包过大,导致传输到服务器上的时候速度有点缓慢。

要是平常也就算了,那天我想着就一个小问题就没有本地验证了,直接发上服务器。

这是一个不好的习惯,大家不要学 一定要保证代码验证通过后再进行发布部署

结果部署后,发现改的不对,连着这样搞了三次。

这三次上传的时间,我就觉得等得没有必要了,都是自己的源代码改动,没有涉及到依赖包的新增修改,打出来的Jar包还是170M多,也难怪别人说JavaSpringBoot重呢

image-20250119192112945

那么结合这次不愉快的体验,我了方法对Jar包进行优化瘦身,也就是将其中的lib包从jar包本体中剥离出来

看看是如何做的吧

二、Maven

没错,既然是打Jar包,那么肯定是我们的构建工具Maven了,我们来看看pom.xml文件,要经过哪些修改,才可以达成我们想要的效果

首先是我们的org.springframework.boot插件

代码语言:xml复制
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <executable>true</executable>
        <layout>ZIP</layout>
        <jvmArguments>=UTF-8</jvmArguments>
        <includes>
            <include>
                <groupId>nothing</groupId>
                <artifactId>nothing</artifactId>
            </include>
        </includes>
    </configuration>
</plugin>

只需要这样,就能将Jar包中的lib包给剔除,那么现在,我们来重新打包一下,结果如下

image-20250119192859184

如果我们的lib包有改动,换了依赖,或者新增了依赖,那么我们就需要更新部署的lib包。但是,在上图中,我们没有lib包,那该怎么办,我们现在还需要将lib包生成出来,放在Jar包的同级目录下

这时候,我们需要一个新的Maven构建插件,如下

代码语言:xml复制
            <plugin>
                <groupId>org.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executi>
                    <execution>
                        <id>copy</id>
                        <phase>package</phase>
                        <goals>
                            <goal>copy-dependencies</goal>
                        </goals>
                        <configuration>
                            <!--指定的依赖路径-->
                            <outputDirectory>
                                ${project.build.directory}/lib
                            </outputDirectory>
                            <excludeScope>provided</excludeScope>
                        </configuration>
                    </execution>
                </executi>
            </plugin>

添加上了,我们再来重新打包一下,这一次应该是没有问题了,看下结果

image-20250119199165

完美,成功分离

三、最后

那么如何去启动这个Jar包呢,我直接下面的命令试了一下

java -jar banmoon-web-base.jar

发现不行,没到对应的包啊

image-2025011919477185

那么该如何启动这个Jar包呢,这个时候,需要换一种Jar启动脚本,我们换这个试试看

image-2025011919560718

这个时候,就能够顺利启动了,非常nice

好了,希望大家能够掌握本项技能,让你的工程也能够通过这样进行瘦身,优化传输速度。

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1166872.html

相关标签:无
上传时间: 2025-07-21 04:16:50
留言与评论(共有 18 条评论)
本站网友 公积金贷款利率下调
18分钟前 发表
换了依赖
本站网友 金钻潮庭
13分钟前 发表
那该怎么办
本站网友 艾略特波浪理论
25分钟前 发表
我们再来重新打包一下
本站网友 北京冰点脱毛
12分钟前 发表
没到对应的包啊image-2025011919477185那么该如何启动这个Jar包呢
本站网友 新生儿窒息复苏
23分钟前 发表
在上图中
本站网友 kv3000
4分钟前 发表
结果如下image-20250119192859184如果我们的lib包有改动
本站网友 衢州烟草电子商务网
29分钟前 发表
本站网友 福永二手房
15分钟前 发表
前言最近在编写自己项目的时候
本站网友 三相交流电
3分钟前 发表
要是平常也就算了
本站网友 电商代运营
8分钟前 发表
那么肯定是我们的构建工具Maven了
本站网友 南宁房产
12分钟前 发表
发现部署的过程中
本站网友 新浪财经新闻
30分钟前 发表
就能够顺利启动了
本站网友 健康服务
23分钟前 发表
前言最近在编写自己项目的时候
本站网友 成都癫痫病治疗医院
11分钟前 发表
但是
本站网友 获得性免疫缺陷
22分钟前 发表
我们来重新打包一下
本站网友 千方百计gl
27分钟前 发表
本站网友 百变怪
9分钟前 发表
发现改的不对