2017-04-25 129 views
0

错误显示HibernateProxy类是从.ear文件中丢失的。“java.lang.NoClassDefFoundError:org/hibernate/proxy/HibernateProxy”哪个罐子丢失了

Caused by: java.lang.ClassNotFoundException: org.hibernate.proxy.HibernateProxy from [Module "deployment.abc.ear:main" from Service Module Loader

Caused by: javassist.CannotCompileException: by java.lang.NoClassDefFoundError: org/hibernate/proxy/HibernateProxy

耳朵被部署在的Jboss 7.0.0 EAP

哪个罐子我应包括无论是在Eclipse构建路径或项目的的pom.xml

回答

0

要有org.hibernate.proxy.HibernateProxy在classpath中,添加此依赖关系的pom.xml:

<dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>5.2.2.Final</version> 
     </dependency> 
+0

应用程序没有在JBoss中部署服务器7 pom.xml中添加这种依赖关系之后。我得到这个错误'javax.persistence.PersistenceException:[PersistenceUnit:abc]无法构建Hibernate SessionFactory' –

+0

Hibernate的容器版本优先于Java EE容器中的应用程序打包版本。因此错误。 为避免出现这种情况,您需要明确控制类加载并排除容器库。阅读https://docs.jboss.org/author/display/WFLY8/Class+Loading+in+WildFly –

+0

基本上,您将需要提供一个jboss-deployment-structure.xml来对依赖关系进行细粒度控制。 ~~~ <! - 排除休眠的容器版本。缺省情况下它的版本4,我们希望 捆绑版本加载 - > <模块名称= “org.hibernate作为” 插槽= “主”/>