Caused by: java.lang.ClassNotFoundException: javax.el.ELManager

最近看到一篇博客 介绍@valid 和 @validate 注解,想到项目里的垃圾验证代码,很恶心。所以就照着博客里弄 ,结果出现上面的错误。。。。

参考博客
查了网上的一堆博客,发现 好像是 主要是 el-api版本问题,
我的是tomcat7 , 传统的spring 项目 所以 hibernate-validator 不能高版本 ,必须5.x版本

后来一顿折腾 ,发现tomcat lib 包下的 el-api-2.2.1-b04.jar 这个版本低,好像看到 说必须要高版本的才行,删除了 tomcat7 中的 el-api .引入3.0版本解决

直接从tomcat 8 的 lib考了一个 3.0版本的 解决问题

同时必须配置 一个处理器 ,看了底层是 aop 的思想

@Configuration
public class RootConfig {

    @Bean
    public MethodValidationPostProcessor methodValidationPostProcessor() {
        return new MethodValidationPostProcessor();
    }
}

我的 pom依赖

<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-validator</artifactId>
			<version>5.1.1.Final</version>
		</dependency>
		//这个和下面的我想吐槽 网上一堆2.2.4 /2.2.6/ 3.0.0 版本 ,看晕了 但是下载jar包下来 发现3.0.0 有elManage类
		<dependency>
			<groupId>javax.el</groupId>
			<artifactId>javax.el-api</artifactId>
			<version>3.0.0</version> 
		</dependency>
		<dependency>
			<groupId>org.glassfish</groupId>
			<artifactId>javax.el</artifactId>
			<version>3.0.0</version>
		</dependency>
		<dependency>
			<groupId>javax.validation</groupId>
			<artifactId>validation-api</artifactId>
			<version>2.0.1.Final</version>
		</dependency>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值