【Jeecg Boot 3 - 第二天】1.2、jar 包和 lib 依赖分离,部署包缩小100倍

2023-12-13 05:49:45

一、场景

二、思路

三、实战

???2.1、项目 jar 包解压获取 lib + config

Stage 1:正常打包获取?jeecg-system-start-3.6.0.jar

Stage 2:解压 获取如下文件

Stage 3:获取 lib + config

???2.2、获取简化版项目jar包

Stage 1:修改pom.xml文件移除lib

Stage 2:打包项目

???2.3 编写dockerfile

???2.4 将文件上传到服务器下

???2.5 创建并运行容器(启动项目)

四、思考

一、场景

  • docker-compose 部署

  • Spring boot 项目几百M

  • 问题:如何缩小项目jar包

二、思路

????????将依赖库提前打包即可

三、实战

???2.1、项目 jar 包解压获取 lib + config

Stage 1:正常打包获取?jeecg-system-start-3.6.0.jar

Stage 2:解压 获取如下文件

jar xvf jeecg-system-start-3.6.0.jar 

Stage 3:获取 lib + config

  • 将 BOOT-INF 下的 lib 包拿出单独存放

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

???2.2、获取简化版项目jar包

Stage 1:修改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>

Stage 2:打包项目

  • IDEA中 -- Maven -- 运行 clean -- install -- 获取?jeecg-system-start-3.6.0.jar

???2.3 编写dockerfile

FROM openjdk:8
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
COPY ./config /config
COPY ./lib /lib
ADD jeecg-system-start-3.6.0.jar jeecg-system-start-3.6.0.jar
ENTRYPOINT ["java","-Dloader.path=/lib","-jar","jeecg-system-start-3.6.0.jar"]

???2.4 将文件上传到服务器下

???2.5 创建并运行容器(启动项目)

# 进入上一步上传的目录下

cd /mnt/docker/jeecgboot3.6/


# 启动项目

docker-compose up -d --build

四、思考

jenkins 和 k8s 部署时lib 库如何管理 (后期补上)

文章来源:https://blog.csdn.net/ladymorgana/article/details/134935718
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。