内容简介:jdk8tomcat7.0.90版本引入包:hibernate-validator:6.0.16.Final版本,使用邮箱验证注解功能,则需要依赖加载对应javax/el/ELManager。
线上环境
jdk8
tomcat7.0.90
报错
java.lang.NoClassDefFoundError:javax/el/ELManager
原因
版本引入包:hibernate-validator:6.0.16.Final版本,使用邮箱验证注解功能,则需要依赖加载对应javax/el/ELManager。
因线上使用tomcat版本为tomcat7.0.90,在其CATALINA_HOME/lib目录下的el-api.jar的版本为2.2版本,无类javax/el/ELManager。
(tomcat8中,el-api.jar包升级为3.0版本,不会找不到类)因此启动失败。
解决
将hibernate-validator版本降到5.4.3.Final版本,去除引用校验邮箱的注解特性,该用业务代码处理
为什么线下未发现呢?因为线下环境使用的tomcat版本为8.5.32版本,与线上未统一。当然这也是不合理的点
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 快速失败机制 & 失败安全机制
- 通过不断地失败来避免失败,携程混沌工程实践
- 快速失败(fail-fast)和安全失败(fail-safe)
- greenplum 集群启动失败
- Nginx 失败重试机制
- greenplum集群启动失败问题分析
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。