java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;

报错情况:在SpringMVC与Hibernate的环境下,当使用了Hibernate Validator验证后,修改更新实体时就报错,报错为:java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory; 

java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;_第1张图片

原因:查了Hibernate文档才知道,我使用的是Hibernate-validator-5.1.1.Final.jar,官网是这么说的(网址:http://hibernate.org/validator/faq/)

java.lang.NoSuchMethodError: javax.el.ExpressionFactory.newInstance()Ljavax/el/ExpressionFactory;_第2张图片

意思是:

HIbernate的5.0以上的验证是否兼容tomcat6?

Hibernate Validator 5需要统一表达式语言(EL)在版本2.2或更高版本。当Tomcat 7提供了开箱即用的EL 2.2,Tomcat 6只提供了一个EL 2.1实现不使用Hibernate验证器。您将得到:NoSuchMethodError:javax.el.ExpressionFactory.newInstance()Ljavax / el / ExpressionFactory)
因此你可以升级到Tomcat 7或更新安装Tomcat 6中的EL的jar包。做后者,替换JAR el-api.jar和jasper-el.jar。 在tomcat安装目录的bin目录下。

你可能感兴趣的:(Hibernate)