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

南风 · 2019年11月27日 · 最后由 jiangliheng 回复于 2019年12月07日 · 3123 次阅读

背景:
目前 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 配置文件先后随机加载导致的灵异事件。。。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册