我创建了一个在Tomcat上运行的JSF Web应用程序,它使用Hibernate进行数据库交互。在第一次使用它时,它已抛出以下异常,Web应用程序停止工作:
Caused by: java.lang.VerifyError: class org.hibernate.type.WrappedMaterializedBlobType overrides final method getReturnedClass.()Ljava/lang/Class;
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2918)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1174)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1669)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1547)
at org.hibernate.type.BasicTypeRegistry.<init>(BasicTypeRegistry.java:91)
at org.hibernate.type.TypeResolver.<init>(TypeResolver.java:59)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:250)
at org.hibernate.cfg.Configuration.<init>(Configuration.java:302)
at com.bis.dao.HibernateUtil.configureSessionFactory(HibernateUtil.java:48)
at com.bis.dao.HibernateUtil.buildIfNeeded(HibernateUtil.java:19)
at com.bis.dao.CheckValidUser.validUser(CheckValidUser.java:19)
at com.bis.bean.UserLogin.userLoginCheck(UserLogin.java:125)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.el.parser.AstValue.invoke(AstValue.java:191)
at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:272)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpress ionAdapter.java:88)
... 27 more
这是如何引起的?如何解决?
答案 0 :(得分:0)
好像你是facing a versioning conflict。 Hibernate的WrappedMaterializedBlobType
有一个从版本final
开始标记为3.6.2
的方法。看起来你有一个依赖,它假定旧版本的Hibernate。升级所有项目依赖项,您可能只是摆脱错误。