问题现象今天同事再升级框架后(spring-cloud 2022.0.4 -> 2023.0.0)(spring-boot 3.1.6 -> 3.2.0)同时因为 spring-boot 的版本问题, 需要将 maven 升级到 3.6.3+升级后构建 jar 包和构建镜像都是正常的, 但是发布到测试环境就报错Caused by: java.lang.ClassNotFoundException: org.springframework.boot.loader.JarLauncher问题分析报错为 JarLauncher 找不到, 检查了Jenkins中的打包任务, 发现并没有编译报错, 同事直接使用打包任务中产生的 xx.jar, 可以正常运行.说明在打包Docker镜像前都没有问题, 这时就想起来我们在打包镜像时, 先解压 xx.jar, 然后直接执行org.springframework.boot.loader.JarLauncher, 所以很可能是升级后, 启动文件JarLauncher的路径变了.为了验证我们的猜想, 我们得看一下实际容器内的文件结构, 但是这时容器一直报错导致无法启动, 不能直接通过Rancher查看文件结构, 我们可以通过文件拷贝的方式来解决, 如下:# 下载有问题的镜像, 并且创建容器(不启动)docker create -it --name dum
...
继续阅读
(63)