资讯专栏INFORMATION COLUMN

hibernate-validator版本问题引发的tomcat7下项目启动失败

BlackMass / 1295人阅读

摘要:线上环境报错原因版本引入包版本,使用邮箱验证注解功能,则需要依赖加载对应。因线上使用版本为,在其目录下的的版本为版本,无类。中,包升级为版本,不会找不到类因此启动失败。

线上环境

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版本,与线上未统一。当然这也是不合理的点

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/35674.html

相关文章

  • 深入了解数据校验:Bean Validation 2.0(JSR380)

    摘要:可能有人认为数据校验模块并不是那么的重要,因为硬编码都可以做。我以数据绑定为引子引出了数据校验这一块,是想表明它的重要性。关于数据校验这块,最新的是,也就是我们常说的。 每篇一句 吾皇一日不退役,尔等都是臣子 对Spring感兴趣可扫码加入wx群:Java高工、架构师3群(文末有二维码) 前言 前几篇文章在讲Spring的数据绑定的时候,多次提到过数据校验。可能有人认为数据校验模块...

    wangtdgoodluck 评论0 收藏0
  • tomcat7使用dbcp连接池遇到

    摘要:查看资料的过程中发现连接池是有两种的连接池与连接池。在分配对象或对象返回的时候,会锁定全部连接池。连接池使用接口获取底层连接连接池可以防止饥饿。当连接返回时,池就将唤醒正确的等待线程。 项目部署在tomcat后每隔一段时间便会报错 Cause: java.sql.SQLException: Could not retrieve transation read-only status ...

    silenceboy 评论0 收藏0
  • Maven详细教程

    摘要:清理上一次执行创建的文件处理资源文件编译代码执行单元测试文件创建拷贝到本地的仓库下面发布生成文档将工程所有文档生成网站,生成的网站界面默认和的项目站点类似,但是其文档用格式写的,目前不支持,需要用其他插件配合才能支持。 前言 本文可以帮助你加深对Maven的整体认识,不是一篇基础文章。如果你现在还没有用 Maven 跑过 HelloWorld,那么本文可能不适合你。 一、Maven简介...

    Keagan 评论0 收藏0
  • Hibernate Validator—更简洁参数校验及一个util

    摘要:代码地址简介是项目中的一个数据校验框架,是的参考实现,除了提供了规范中所有内置的实现,还有一些附加的。使用能够将数据校验从业务代码中脱离出来,增加代码可读性,同时也让数据校验变得更加方便简单。 代码地址 https://github.com/wheel-orga... 简介 hibernate-validator是Hibernate项目中的一个数据校验框架,是Bean Validati...

    Jiavan 评论0 收藏0
  • CentOS7 安装 Tomcat7

    摘要:下载,和运行需要和运行环境,我们这里选择安装版本进入官网下载和包。建议均设为物理内存的一半。不可超过物理内存。设定内存的永久保存区最大大小,缺省值为。新生成的池的最大大小。 下载 JDK , JRE 和 Tomcat 运行 Tomcat 需要 JAVA JDK 和 JRE 运行环境,我们这里选择安装 JDK 1.7 版本,进入官网下载 JDK 和 JRE 包。 JDK 1.7 和 J...

    wenyiweb 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<