问答 Jenkins 打包正常,启动报错

南风 · November 27, 2019 · Last by 蒋李恒 replied at December 07, 2019 · 6206 hits

背景:
目前Jenkins服务器(107)需要迁移到另外一台机器(241)上,Jenkins所在目录是一个挂载盘,安装目录在/mnt/jenkins

新的Jenkins服务器(241)是以旧的Jenkins服务器(107)做的镜像生成的,基础环境一致,在241上另外添加了一个挂载盘,将107挂载盘的东西全部使用scp 命令拷贝到新的挂载盘上。

---------分割线------------

在241上,大部分的Jenkins项目构建都很正常,包含maven项目,但是其中一个maven项目打的包,打包正常,但是拷贝的应用服务器上启动就报错,在107上使用同样的分支,同样的仓库配置,打包拷贝到同一台应用服务器上,启动就正常。

报错提示:

但是我在241上,在"/" 目录下下载源码打包,拷贝到应用服务器启动就是正常的,同样的操作,我在/mnt 目录下下载源码,打包拷贝到应用服务器,启动就会报错。

实在是想不通报错的原因。

共收到 2 条回复 时间 点赞

把241上打的可用的和不可用的 jar 包解压出来,用文件 diff 工具对比下有哪些地方有差异?

不知道你的打包脚本具体是啥,会不会和打包目录有关,仅凭这个错误日志没法判定是什么问题。

maven打包各环境不一致问题排查思路:

  1. 检查maven版本,settings.xml,pom.xml设置等,同一个私服仓库
  2. 检查maven依赖包版本,mvn dependency命令,也可解决依赖冲突,排除等
  3. 如果应用存在依赖模块编译,采用的mvn install而非mvn deploy方式,注意模块依赖编译顺序
  4. spring相关项目,注意循环依赖问题
  5. 终极解决方案: 2个环境jar包diff或者反编译检查怀疑代码处~

说会你的问题,看报错怀疑是循环依赖问题,找开发协查下~~~
曾经还遇到过spring配置文件先后随机加载导致的灵异事件。。。

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up