SpringBoot-Jar包分离

一、jar包分离介绍

springboot构建jar部署,通过使用 java -jar xxx.jar 命令启动服务,非常方便。 但是通过maven构建的jar包含 \BOOT-INF\lib\下的所有依赖jar包,导致jar包文件太大。 本文将lib文件夹下所依赖的jar包分离出来,解决文件过大问题。

二、jar包分离实施步骤

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

代码语言:javascript
复制
|--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包。

复制代码
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>

    <!--start-->
    <configuration>
        <!--这里对应项目的主入口-->
        <mainClass>com.ityj.multidb.SpringbootMultiDatasourcesApplication</mainClass>
        <layout>ZIP</layout>
        <includes>
            <include>
                <groupId>nothing</groupId>
                <artifactId>nothing</artifactId>
            </include>
        </includes>
    </configuration>
    <!--end-->
</plugin>
复制代码

 

直接重新打包,即可 最终的jar包已经排除掉了lib文件

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

 

nohup java -jar -Dloader.path=./lib admin.jar &

posted on   咚..咚  阅读(2)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示