首页 > 其他分享 >jar 包和 lib 依赖分离,部署包缩小100倍

jar 包和 lib 依赖分离,部署包缩小100倍

时间:2024-09-06 16:52:37浏览次数:4  
标签:lib -- jar boot mes 100 config

一、场景
docker 部署

Spring boot 项目jar包几百M

问题:如何缩小项目jar包,提高上传速度

二、思路
将依赖库提前打包即可,后续改动没有新增加依赖的情况下,如果有改动需重新打包依赖库

三、实战
1、项目 jar 包解压获取 lib + config

  • 正常打包获取 jeecg-system-start-3.6.0.jar
  • 桌面解压 获取如下文件

  • 获取 lib + config
  • 将 BOOT-INF 下的 lib 包拿出单独存放

  • 将 BOOT-INF\classes 下的 yml 文件存放到 config

 

2、获取简化版项目jar包

  • 修改pom.xml文件移除lib
 
<!--方案一:常规Jar部署方案-->
<!--    <build>-->
<!--        <plugins>-->
<!--            <plugin>-->
<!--                <groupId>org.springframework.boot</groupId>-->
<!--                <artifactId>spring-boot-maven-plugin</artifactId>-->
<!--            </plugin>-->
<!--        </plugins>-->
<!--    </build>-->
 
<!--方案二:JAR分离打包部署-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <layout>ZIP</layout>
                    <includes>
                        <include>
                            <groupId>nothing</groupId>
                            <artifactId>nothing</artifactId>
                        </include>
                    </includes>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

3、打包项目

  • IDEA中 -- Maven -- 运行 clean -- install -- 获取 jar

4、编写dockerfile

FROM openjdk:8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./config /config
COPY ./lib /lib
ADD donger-mom-mes-3.0-executor.jar mes.jar
ENTRYPOINT ["java","-Dloader.path=/lib","-jar","mes.jar"]

 5、执行打包命令

docker build ./ -t mes

 

标签:lib,--,jar,boot,mes,100,config
From: https://www.cnblogs.com/Galaxy1/p/18400569

相关文章

  • Z-Library机器人无效修复
    1原因描述因Z-Library官方系统出现故障,对个人电报机器人的运行造成了影响,部分用户的机器人无响应,需重新连接。2方法介绍前提是你之前创建过机器人!!!如果不会,可以看这个教程,https://zh.go-to-library.sk/#telegram_bot_tab如果链接失效:访问你看此帖时可用的Z-Library官网......
  • Patlibc———更快捷的更换libc
    起初是为了简化做pwn题目时,来回更换libc的麻烦,为了简化命令,弄了一个小脚本,可以加入到/usr/local/bin中,当作一个快捷指令......
  • AS-V1000视频监控平台客户端播放实时视频时,一些视频画面显示的时间不准确的解决方法
    目录一、背景说明二、解决过程  1、查看设备时间  2、查看服务器时间  3、ntp介绍  1)ntp的概念  2)ntp的同步方式  3)ntp的优势  4、自动校准服务器和设备时间  1)下载ntp  2)修改ntp.conf  3)重启ntp服务,自动校准时间......
  • FT232使用libusb控制GPIO
    FT232使用官方驱动控制GPIO很简单打开FT_OpenEx,FT_SetBitMode(FT_BITMODE_ASYNC_BITBANG)写FT_Write读FT_Read使用libusb方式打开// libusb-win32(v1.2.6.0)BOOL CHubGpio::InitLibusb(){ structusb_interface_descriptor*setting; structusb_bus *bus;......
  • Cisco ISR 1000 IOS XE 17.15.1a 发布下载,新增功能概览
    CiscoISR1000SeriesIOSXERelease17.15.1aED思科1000系列集成多业务路由器系统软件请访问原文链接:https://sysin.org/blog/cisco-isr-1000/,查看最新版。原创作品,转载请保留出处。作者主页:sysin.org思科1000系列集成多业务路由器Cisco1000系列集成多业务路由器......
  • 【git】No user exists for uid 1000 fatal: 无法读取远程仓库。
    一、问题   今天拉取代码时,突然报错  二、处理过程1、检查用户信息$id-u1000用户的id是对的那是因为什么呢 2、重启终端发现还是不行 3、重启电脑发现还是不行 三、解决方案最终重新生效环境变量$source~/.bashrc 然后重新执行拉取更新$gitf......
  • Maven 安装 JAR 到本地仓库
    虽然直接在 pom.xml 中引用本地JAR文件是一种可行的方法,但更好的做法是将JAR文件安装到你的本地Maven仓库中。这样,你就可以像引用其他Maven依赖一样来引用它,而且你的项目构建将更加可移植和可维护。1:你可以使用Maven的 mvninstall:install-file 命令来完成这一......
  • LeetCode Hot100刷题记录-21. 合并两个有序链表
    题目描述:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。需要知道的pre-knowledge:list1和list2起初可直接代表两个链表的头节点,无需用另外的变量比如current来表示头节点。思路:准备一个虚拟节点,指向合并完成新链表的h......
  • LeetCode Hot100刷题记录-206. 反转链表
    206.反转链表题目描述:给你单链表的头节点head,请你反转链表,并返回反转后的链表。这道题要用到两个指针,一个current指向当前节点,另一个prev指向当前节点的上一个节点。首先让current指向头节点head,prev指向head的前一个也就是null,这里要用next变量来暂时存储current的下一个......
  • 【代码随想录训练营第42期 Day51打卡 - 岛屿问题 - 卡码网 99. 岛屿数量 100. 岛屿的
    目录一、做题心得二、题目与题解题目一:99.岛屿数量题目链接题解1:DFS 题解2:BFS 题目二:100.岛屿的最大面积题目链接题解:DFS 三、小结一、做题心得今天打卡的是经典的岛屿问题:分别从两个方向进行探讨--深搜(DFS)与广搜(BFS)。作为这两大基本搜索最经典的例题,今天......