【问题标题】:java.lang.VerifyError: class org.hibernate.type.WrappedMaterializedBlobType overrides final method getReturnedClass.()Ljava/lang/Class;java.lang.VerifyError:类 org.hibernate.type.WrappedMaterializedBlobType 覆盖最终方法 getReturnedClass.()Ljava/lang/Class;
【发布时间】:2014-08-14 04:44:51
【问题描述】:

我创建了一个在 Tomcat 上运行的 JSF Web 应用程序,它使用 Hibernate 进行 DB 交互。在第一次使用时,它已经抛出以下异常并且 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

这是怎么引起的,我该如何解决?

【问题讨论】:

  • 查看您的 pom.xml 并删除 hibernate-annotations 依赖项,因为它在内部提供了最新的 hibernate-core 版本

标签: hibernate tomcat verifyerror


【解决方案1】:

好像你是facing a versioning conflict。 Hibernate 的WrappedMaterializedBlobType 有一个标记为final 的方法,从版本3.6.2 开始。似乎您有一个依赖项,它假定 Hibernate 的旧版本。升级您所有的项目依赖项,您可能会摆脱错误。

【讨论】:

  • 我将 hibernate-core 依赖项更改为 3.6.3 版本并删除了 annotation-3.5.6-Final,因为它已经包含在核心中
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-26
  • 2013-06-17
  • 1970-01-01
  • 1970-01-01
  • 2016-05-07
  • 1970-01-01
  • 2020-02-12
相关资源
最近更新 更多