Java HibernatePersistenceProvider.createEntityManagerFactory()方法的JBoss AS7 LinkageError

Java HibernatePersistenceProvider.createEntityManagerFactory()方法的JBoss AS7 LinkageError,java,spring,hibernate,jpa,jboss,Java,Spring,Hibernate,Jpa,Jboss,我正在创建一个SpringMVC和Hibernate/JPA web应用程序,但在配置应用程序和jboss部署描述符以便将持久性管理委托给我的web应用程序而不是JBossAS7时遇到了问题。 我正在为JavaEE7、Spring4.2.2-Final和Hibernate4.3.11进行开发 这是我的jboss-deployment-structure.xml的内容 <?xml version="1.0" encoding="UTF-8"?> <jboss-deployment

我正在创建一个SpringMVC和Hibernate/JPA web应用程序,但在配置应用程序和jboss部署描述符以便将持久性管理委托给我的web应用程序而不是JBossAS7时遇到了问题。 我正在为JavaEE7、Spring4.2.2-Final和Hibernate4.3.11进行开发

这是我的jboss-deployment-structure.xml的内容

<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure >
<deployment>
    <exclude-subsystems>
        <subsystem name="jpa"/>
    </exclude-subsystems>
    <exclusions>
        <module name="org.hibernate" />
        <module name="javaee.api" />
        <module name="javax.persistence.api" />
    </exclusions>
    <dependencies>
        <module name="javaee.api">
            <imports>
                <exclude path="javax/persistence" />
            </imports>
        </module>
    </dependencies>
</deployment>
</jboss-deployment-structure>

使用这个,我能够通过AS7依赖默认的hibernate-jpa-2.0-api.jar并使用与我的web应用程序一起部署的hibernate-jpa-2.1-api.jar来解决最初的问题

但是,我现在在通过管理控制台启动web应用程序时遇到此错误

12:56:48,885 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/mis-dashboard]] (ServerService Thread Pool -- 230) JBWEB000289: Servlet appServlet threw load() exception: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(Ljava/lang/String;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, org/hibernate/jpa/HibernatePersistenceProvider, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for interface javax/persistence/spi/PersistenceProvider have different Class objects for the type erFactory(Ljava/lang/String;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory; used in the signature
at java.lang.Class.getDeclaredConstructors0(Native Method) [rt.jar:1.7.0_45]
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493) [rt.jar:1.7.0_45]
at java.lang.Class.getConstructor0(Class.java:2803) [rt.jar:1.7.0_45]
at java.lang.Class.newInstance(Class.java:345) [rt.jar:1.7.0_45]
at org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter.<init>(HibernateJpaVendorAdapter.java:93) [spring-orm-4.1.9.RELEASE.jar:4.1.9.RELEASE]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) [rt.jar:1.7.0_45]
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) [rt.jar:1.7.0_45]
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [rt.jar:1.7.0_45]
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) [rt.jar:1.7.0_45]
at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:147) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:89) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:1098) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:122) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196) [spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1048) [spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:825) [spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537) [spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:667) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:633) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:681) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:552) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:493) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136) [spring-webmvc-4.2.2.RELEASE.jar:4.2.2.RELEASE]
at javax.servlet.GenericServlet.init(GenericServlet.java:242) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1194) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1100) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:3591) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3798) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:161) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:59) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:94) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_45]
at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_45]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_45]
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_45]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)

12:56:48,901 DEBUG [org.apache.jasper.compiler] (ServerService Thread Pool -- 230) JBWEB005025: Parent 
12:56:48885错误[org.apache.catalina.core.ContainerBase.[jboss.web].[default host].[mis dashboard]](ServerService线程池--230)JBWEB000289:Servlet-appServlet抛出load()异常:java.lang.LinkageError:接口中的加载程序约束冲突itable初始化:解析方法时org.hibernate.jpa.HibernatePersistenceProvider.createEntityManagerFactory(Ljava/lang/String;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;当前类org/hibernate/jpa/HibernatePersistenceProvider的类加载器(org/jboss/modules/ModuleClassLoader的实例)和接口javax/persistence/spi/PersistenceProvider的类加载器(org/jboss/modules/ModuleClassLoader的实例)对于类型erFactory具有不同的类对象(Ljava/lang/String;Ljava/util/Map;)Ljavax/persistence/EntityManagerFactory;用于签名
在java.lang.Class.getDeclaredConstructors0(本机方法)[rt.jar:1.7.0_45]
在java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)[rt.jar:1.7.0\u 45]
在java.lang.Class.getConstructor0(Class.java:2803)[rt.jar:1.7.0_45]
在java.lang.Class.newInstance(Class.java:345)[rt.jar:1.7.0_45]
在org.springframework.orm.jpa.vendor.hibernatejbavendorapter.(hibernatejbavendorapter.java:93)[spring-orm-4.1.9.RELEASE.jar:4.1.9.RELEASE]
在sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)[rt.jar:1.7.0\u 45]
在sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)[rt.jar:1.7.0\u 45]
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)[rt.jar:1.7.045]
在java.lang.reflect.Constructor.newInstance(Constructor.java:526)[rt.jar:1.7.0_45]
在org.springframework.beans.BeanUtils.instanceClass(BeanUtils.java:147)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.simpleinstationstrategy.instantiate(simpleinstationstrategy.java:89)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.InstanceBean(AbstractAutowireCapableBeanFactory.java:1098)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1050)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:299)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
在org.springframework.beans.factory.support.beandDefinitionValueResolver.ResolveValueIfNeeded(beandDefinitionValueResolver.java:122)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1481)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:305)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
在org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:301)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:196)[spring-beans-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1048)[spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:825)[spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
在org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:537)[spring-context-4.2.2.RELEASE.jar:4.2.2.RELEASE]
位于org.springframework.web.servlet.FrameworkServlet.configureandrefreshWebApplicationOn
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
    <deployment>
        <exclude-subsystems>
            <subsystem name="jpa" />
        </exclude-subsystems>
        <exclusions>
            <module name="javaee.api" />
            <module name="javax.persistence.api" />
        </exclusions>
        <dependencies>
            <module name="javaee.api">
                <imports>
                    <exclude path="javax/persistence" />
                </imports>
            </module>
        </dependencies>
    </deployment>
</jboss-deployment-structure>