docker环境启动项目—— nested exception is java.lang.NoClassDefFoundError:org/objenesis/Objenesis

背景前提

      项目基于springboot 1.5.6RELEASE

问题描述

      普通环境启动项目正常

      docker环境启动项目异常报错

Constructor threw exception; nested exception is java.lang.NoClassDefFoundError: org/objenesis/Objenesis

排查流程

1、首先没有考虑项目本身问题,因为普通环境可以正常启动,考虑是否为docker环境配置问题,找了公司相同springboot版本的项目,放到docker环境中启动,发现正常没有异常问题。

2、怀疑项目本身问题,NoClassDefFoundError,到maven的仓库地址上找关于objenesis的相关版本问题

docker环境启动项目—— nested exception is java.lang.NoClassDefFoundError:org/objenesis/Objenesis

解决方案

        利用idea中的Maven Helper 插件分析Objenesis 发现版本为2.1,而且是2013年,又排查了其他项目发现没有关于这个jar的引用,考虑docker是近几年的应用广泛,怀疑版本过低,导致docker不兼容的问题,升级Objenesis版本直3.0.1,重新构建部署,观察启动日志,程序可以正常启动,问题解决。