微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使Hibernate,Hibernate注释和Hibernate Commons注释共存

如何解决使Hibernate,Hibernate注释和Hibernate Commons注释共存

我编写了一个简单的基于Struts的应用程序(EnricoApp),在共存这三个库时收到了例外情况:

hibernate-core-5.4.21.Final.jar,hibernate-annotations-3.5.6-Final.jar
and hibernate-commons-annotations-5.1.0.Final.jar.

这些彼此兼容吗?


所有其他库都位于LIB目录中,它们是:
/EnricoApp/WebContent/WEB-INF/lib/activation.jar,/EnricoApp/WebContent/WEB-INF/lib/antlr-2.7.7.jar,/EnricoApp/WebContent/WEB-INF/lib/byte-buddy-1.10.10.jar,/EnricoApp/WebContent/WEB-INF/lib/classmate-1.5.1.jar,/EnricoApp/WebContent/WEB-INF/lib/commons-collections-3.1.jar,/EnricoApp/WebContent/WEB-INF/lib/commons-fileupload-1.4.jar,/EnricoApp/WebContent/WEB-INF/lib/commons-io-2.6.jar,/EnricoApp/WebContent/WEB-INF/lib/commons-lang3-3.8.1.jar,/EnricoApp/WebContent/WEB-INF/lib/commons-logging-1.1.jar,/EnricoApp/WebContent/WEB-INF/lib/dom4j-2.1.3.jar,/EnricoApp/WebContent/WEB-INF/lib/ejb3-persistence.jar,/EnricoApp/WebContent/WEB-INF/lib/fastinfoset-1.2.15.jar,/EnricoApp/WebContent/WEB-INF/lib/freemarker-2.3.28.jar,/EnricoApp/WebContent/WEB-INF/lib/hibernate-annotations-3.5.6-Final.jar,/EnricoApp/WebContent/WEB-INF/lib/hibernate-commons-annotations-5.1.0.Final.jar,/EnricoApp/WebContent/WEB-INF/lib/hibernate-core-5.4.21.Final.jar,/EnricoApp/WebContent/WEB-INF/lib/hibernate-validator.jar,/EnricoApp/WebContent/WEB-INF/lib/istack-commons-runtime-3.0.7.jar,/EnricoApp/WebContent/WEB-INF/lib/it_realt_sqladapter.jar,/EnricoApp/WebContent/WEB-INF/lib/it_realt.1.2.5.1.jar,/EnricoApp/WebContent/WEB-INF/lib/jandex-2.1.3.Final.jar,/EnricoApp/WebContent/WEB-INF/lib/javassist-3.24.0-GA.jar,/EnricoApp/WebContent/WEB-INF/lib/javax.activation-api-1.2.0.jar,/EnricoApp/WebContent/WEB-INF/lib/javax.persistence-api-2.2.jar,/EnricoApp/WebContent/WEB-INF/lib/jaxb-api-2.3.1.jar,/EnricoApp/WebContent/WEB-INF/lib/jaxb-runtime-2.3.1.jar,/EnricoApp/WebContent/WEB-INF/lib/jbeans.jar,/EnricoApp/WebContent/WEB-INF/lib/jboss-logging-3.3.2.Final.jar,/EnricoApp/WebContent/WEB-INF/lib/jboss-transaction-api_1.2_spec-1.1.1.Final.jar,/EnricoApp/WebContent/WEB-INF/lib/jta-1.1.jar,/EnricoApp/WebContent/WEB-INF/lib/jtds-1.1.jar,/EnricoApp/WebContent/WEB-INF/lib/jxl.jar,/EnricoApp/WebContent/WEB-INF/lib/log4j-1.2.17.jar,/EnricoApp/WebContent/WEB-INF/lib/log4j-core-2.13.3.jar,/EnricoApp/WebContent/WEB-INF/lib/mail.jar,/EnricoApp/WebContent/WEB-INF/lib/moduloAnagrafica.jar,/EnricoApp/WebContent/WEB-INF/lib/moduloFaq.jar,/EnricoApp/WebContent/WEB-INF/lib/moduloFile.jar,/EnricoApp/WebContent/WEB-INF/lib/moduloUtente.jar,/EnricoApp/WebContent/WEB-INF/lib/moduloWebUtils.jar,/EnricoApp/WebContent/WEB-INF/lib/ognl-3.1.26.jar,/EnricoApp/WebContent/WEB-INF/lib/postgresql.jar,/EnricoApp/WebContent/WEB-INF/lib/stax-ex-1.8.jar,/EnricoApp/WebContent/WEB-INF/lib/struts2-convention-plugin-2.1.6.jar,/EnricoApp/WebContent/WEB-INF/lib/struts2-core-2.5.22.jar,/EnricoApp/WebContent/WEB-INF/lib/struts2-fullhibernatecore-plugin-1.4-GA.jar,/EnricoApp/WebContent/WEB-INF/lib/txw2-2.3.1.jar,/EnricoApp/WebContent/WEB-INF/lib/webapps.jar,/EnricoApp/WebContent/WEB-INF/lib/xerces.jar,/EnricoApp/WebContent/WEB-INF/lib/xwork-2.1.2.jar

<hr>

三种情况

  1. 休眠和注释

    java.lang.classNotFoundException:org.hibernate.annotations.common.reflection.ReflectionManager 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1358) 在org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1180) 在org.hibernate.boot.internal.MetadataBuilderImpl。(MetadataBuilderImpl.java:123) 在org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:141) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:653) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) HibernateUtils.buildSessionFactory(HibernateUtils.java:26)

解决方案->添加公用注释。

  1. 休眠和公用注释-p

    java.lang.NoSuchMethodError:org.hibernate.engine.spi.SessionFactoryImplementor.getProperties()Ljava / util / Map; 在org.hibernate.engine.query.spi.QueryPlanCache。(QueryPlanCache.java:92) 在org.hibernate.internal.SessionFactoryImpl。(SessionFactoryImpl.java:261) 在org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:469) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:708) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724) HibernateUtils.buildSessionFactory(HibernateUtils.java:26)

解决方案->添加注释。

  1. 全部三个库

    java.lang.NoSuchMethodError:org.hibernate.cfg.annotations.reflection.JPAMetadataProvider。(Lorg / hibernate / boot / spi / BootstrapContext;)V 在org.hibernate.boot.internal.BootstrapContextImpl.generateHcannReflectionManager(BootstrapContextImpl.java:315) 在org.hibernate.boot.internal.BootstrapContextImpl。(BootstrapContextImpl.java:89) 在org.hibernate.boot.internal.MetadataBuilderImpl。(MetadataBuilderImpl.java:123) 在org.hibernate.boot.MetadataSources.getMetadataBuilder(MetadataSources.java:141) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:653) 在org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:724)

解决方案?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。