NoSuchMethodError中的依赖性错误导致:PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode; [英] Dependancy error result in NoSuchMethodError: PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;

查看:526
本文介绍了NoSuchMethodError中的依赖性错误导致:PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

所以我有这个问题来确定使用Spring JPA& Hibernate,我的依赖看起来:

 < dependency> 
< groupId> org.hibernate< / groupId>
< artifactId> ejb3-persistence< / artifactId>
< version> 1.0.2.GA< / version>
< /依赖关系>

< dependency>
< groupId> org.hibernate< / groupId>
< artifactId> hibernate-entitymanager< / artifactId>
< version> 3.5.0-Final< / version>
< /依赖关系>
< dependency>
< groupId> org.springframework< / groupId>
< artifactId> spring-orm< / artifactId>
< version> $ {spring.version}< / version>
< /依赖关系>

< dependency>
< groupId> org.springframework< / groupId>
< artifactId> spring-jpa< / artifactId>
< version> 2.0.8< / version>
< /依赖关系>

结束错误



<$ p $ org.springframework.beans.factory.BeanCreationException:创建名为org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor#0的Bean时出错:无法创建类型为[内部bean]的内部bean' org.springframework.transaction.interceptor.TransactionInterceptor],同时设置bean属性'transactionInterceptor';嵌套异常是org.springframework.beans.factory.BeanCreationException:创建名为'(内部bean)#14'的bean时出错:在设置bean属性'transactionManager'时无法解析对bean'transactionManager'的引用;嵌套异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源中定义名称为'transactionManager'的bean时出错[/WEB-INF/hibernate-context.xml]:设置bean属性时无法解析对bean'entityManagerFactory'的引用'的entityManagerFactory';嵌套的异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源[/WEB-INF/hibernate-context.xml]中定义的名称为'entityManagerFactory'的bean创建时出错:init方法的调用失败;嵌套异常是java.lang.NoSuchMethodError:javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281)
〜[弹簧豆-3.1.2.RELEASE.jar:3.1.2.RELEASE]
。在org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125)〜[弹簧豆-3.1.2.RELEASE.jar:3.1.2.RELEASE]
。在org.springframework.beans .factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360)〜[弹簧豆-3.1.2.RELEASE.jar:3.1.2.RELEASE]在org.springframework.beans.factory.support
。 AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118)〜[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory .java:517)〜[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframewo rk.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)〜[弹簧豆-3.1.2.RELEASE.jar:3.1.2.RELEASE]
。在org.springframework.beans.factory .support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:294)〜[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry .getSingleton(DefaultSingletonBeanRegistry.java:225)〜[弹簧豆-3.1.2.RELEASE.jar:3.1.2.RELEASE]在org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory
。 java:291)〜[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)〜 [spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609)〜[spring-beans- 3.1.2.REL EASE.jar:3.1.2.RELEASE]
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925)〜[spring-context-3.1.3.RELEASE.jar:3.1.3 .RELEASE]
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472)〜[spring-context-3.1.3.RELEASE.jar:3.1.3.RELEASE]
org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383)〜[spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
在org.springframework.web。 context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)〜[弹簧网络3.1.2.RELEASE.jar:3.1.2.RELEASE]在org.springframework.web.context.ContextLoaderListener.contextInitialized
(的ContextLoaderListener .java:111)[spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)[catalina。罐子:7.0.30.A]
在org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)[catalina.jar:7.0.30.A]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java :150)[catalina.jar:7.0.30.A]
在org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)[catalina.jar:7.0.30.A]
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)[catalina.jar:7.0.30.A]
at org.apache.catalina.core.StandardHost.addChild(StandardHost .java:618)[catalina.jar:7.0.30.A] $ or $
at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650)[catalina.jar:7.0.30.A]
在org.apache.catalina.startup.HostConfig $ DeployDescriptor.run(HostConfig.java:1582)[catalina.jar:7.0.30.A]
在java.util.concurrent.Executors $ RunnableAdapter .call(Executors.java:471)[na:1.7.0_09]
at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)[na:1.7.0_09]
在java.util.concurrent.F utureTask.run(FutureTask.java:166)[na:1.7.0_09]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[na:1.7.0_09]
at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)[na:1.7.0_09]
at java.lang.Thread.run(Thread.java:722)[na:1.7.0_09 ]

我已经找到解决方案,它们都是关于删除 Spring-jpa 依赖,但是这样的操作导致与无法加载 persistence_1_0.xsd 相关的错误。
任何线索我如何解决这个问题?

解决方案

添加对hibernate JPA2的依赖:

 < dependency> 
< groupId> org.hibernate.javax.persistence< / groupId>
< artifactId> hibernate-jpa-2.0-api< / artifactId>
< version> 1.0.0.Final< / version>
< /依赖关系>


So i have this problem in confiuring the dependancies for my project which use Spring JPA & Hibernate, my dependancies looks:

                <dependency>
                         <groupId>org.hibernate</groupId>
                         <artifactId>ejb3-persistence</artifactId>
                         <version>1.0.2.GA</version>
                </dependency>

                <dependency>
                       <groupId>org.hibernate</groupId>
                       <artifactId>hibernate-entitymanager</artifactId>
                       <version>3.5.0-Final</version>
                </dependency>
                        <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-orm</artifactId>
                        <version>${spring.version}</version>
                </dependency>

                <dependency>
                        <groupId>org.springframework</groupId>
                        <artifactId>spring-jpa</artifactId>
                        <version>2.0.8</version>
                </dependency>

end error i am getting

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.transaction.interceptor.TransactionAttributeSourceAdvisor#0': Cannot create inner bean '(inner bean)' of type [org.springframework.transaction.interceptor.TransactionInterceptor] while setting bean property 'transactionInterceptor'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)#14': Cannot resolve reference to bean 'transactionManager' while setting bean property 'transactionManager'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/hibernate-context.xml]: Cannot resolve reference to bean 'entityManagerFactory' while setting bean property 'entityManagerFactory'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in ServletContext resource [/WEB-INF/hibernate-context.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchMethodError: javax.persistence.spi.PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:281) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:125) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1360) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1118) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609) ~[spring-beans-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:925) ~[spring-context-3.1.3.RELEASE.jar:3.1.3.RELEASE]
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:472) ~[spring-context-3.1.3.RELEASE.jar:3.1.3.RELEASE]
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:383) ~[spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283) ~[spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111) [spring-web-3.1.2.RELEASE.jar:3.1.2.RELEASE]
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791) [catalina.jar:7.0.30.A]
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285) [catalina.jar:7.0.30.A]
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [catalina.jar:7.0.30.A]
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901) [catalina.jar:7.0.30.A]
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877) [catalina.jar:7.0.30.A]
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618) [catalina.jar:7.0.30.A]
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:650) [catalina.jar:7.0.30.A]
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1582) [catalina.jar:7.0.30.A]
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [na:1.7.0_09]
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) [na:1.7.0_09]
    at java.util.concurrent.FutureTask.run(FutureTask.java:166) [na:1.7.0_09]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [na:1.7.0_09]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [na:1.7.0_09]
    at java.lang.Thread.run(Thread.java:722) [na:1.7.0_09]

I Have found solution which are all about removing Spring-jpa dependancy but such operation result in Error related to not being able to load persistence_1_0.xsd. Any clue how i can fix this?

解决方案

add dependency on hibernate JPA2:

    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.0.Final</version>
    </dependency>

这篇关于NoSuchMethodError中的依赖性错误导致:PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆