WebSphere7:java.lang.NoSuchMethodError:javax / persistence / spi / PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;

时间:2017-08-01 15:20:13

标签: java spring hibernate jpa websphere

大家好长话短说,我在我的项目中使用hibernate,我尝试在WebSphere上部署我的项目,但是它给了我在问题标题中看到的错误 ,正如你在我的罐子里看到的那样,没有更低版本的jpa 2.0的痕迹

jars included in my project

但是我知道所有服务器都有jpa的版本,而websphere 7使用的是我在它的罐子里面找到的1.0,这里有一张图片,

WebSphere 7 jars

如果有人请知道如何解决这个问题或者在我感谢之前发现这个问题,请提前谢谢,我会留下更多信息的完整堆栈跟踪:

  

引起:java.lang.NoSuchMethodError:javax / persistence / spi / PersistenceUnitInfo.getSharedCacheMode()Ljavax / persistence / SharedCacheMode;       at org.hibernate.ejb.util.LogHelper.logPersistenceUnitInfo(LogHelper.java:39)       在org.hibernate.ejb.Ejb3Configuration.configure(Ejb3Configuration.java:516)       在org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:73)       在org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:288)       在org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:310)       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1547)       在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1485)       ......还有61个

1 个答案:

答案 0 :(得分:1)

我在Websphere 7中使用jpa 2.1部署我的应用程序时遇到了类似的问题。

如果是同样的问题,你必须告诉Websphere使用Hibernate持久性提供程序而不是Default Persistance提供。

我在这个答案中写了一个对我有用的解决方案的指南:

https://stackoverflow.com/a/38505479/6503002

编辑:(解释指南的第1步和第2步)

步骤1:要创建一个文件夹,您必须访问服务器计算机(通过ssh)并在文件系统中创建它(例如 / usr / sharedHibernate ,假设您的服务器在Linux上运行)。然后在您创建的文件夹中复制hibernate库(从本地计算机到服务器,使用Filezilla或WinScp或Putty)。

步骤2:在左侧的Websphere控制台中,您有 Environment 部分,其中包含 Shared Libraries 子部分:

Websphere console

这里创建一个新的共享库,给它你想要的名称,并在classpath textarea中插入你之前创建的文件夹的路径(例如 / usr / sharedHibernate

Shared libraries