SpringBoot Jar 分层构建
SpringBoot 3.2.8
Maven 3
需要将第三方包和项目模块分离成不同的层。
优势:
-
操作简单,只需要修改
Dockfile -
部署简单,不需要关注lib是否调整,可以避免因忘记更新lib而导致的问题
-
契合容器化管理理念,充分利用缓存
整体流程:
设置layers.xml -> spring-boot-maven-plugin使用layers.xml -> Dockerfile多阶段分层构建
2025/4/22大约 4 分钟
SpringBoot 3.2.8
Maven 3
需要将第三方包和项目模块分离成不同的层。
优势:
操作简单,只需要修改 Dockfile
部署简单,不需要关注lib是否调整,可以避免因忘记更新lib而导致的问题
契合容器化管理理念,充分利用缓存
整体流程:
设置layers.xml -> spring-boot-maven-plugin使用layers.xml -> Dockerfile多阶段分层构建
一般的SpringBoot项目结构
example.jar
|
+-META-INF
| +-MANIFEST.MF
+-org
| +-springframework
| +-boot
| +-loader
| +-<spring boot loader classes>
+-BOOT-INF
+-classes
| +-mycompany
| +-project
| +-YourClasses.class
+-lib
+-dependency1.jar
+-dependency2.jar
可执行Jar文件 SpringBoot executable-jar
部署方案:Docker 镜像