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

问题描述:

大家好,长话短说,我在我的项目中使用hibernate,我尝试在WebSphere上部署我的项目,但它给了我你在问题标题 中看到的错误,正如你在我的罐子中看到的那样, JPA的较低版本2.0WebSphere7:java.lang.NoSuchMethodError:javax/persistence/spi/PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;

jars included in my project

,但我知道,所有服务器都有一个版本JPA的,和WebSphere 7是使用1.0,我发现它的罐子中,这里是它的照片,

WebSphere 7 jars

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

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

我有一个类似的问题,部署我的应用程序在Websphere 7中使用jpa 2.1。

如果是相同的问题,则必须告知Websphere使用Hibernate持久性提供程序而不是默认持久性提供。

我写了,在这个答案为我工作的解决方案指南:

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

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

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

步骤2:在WebSphere控制台左边你有环境节,其中包含共享库款:

Websphere console

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

Shared libraries

+0

我很喜欢但步骤对我来说不是那么清楚,因为我是veeery websphere的新成员,而且我只是在为此工作,因为公司的特殊要求我正在实习中,如果你可以通过Skype与我联系,以更好的方式向我解释这些步骤,我会很感激,谢谢。 –

+0

你能向我解释第一步和第二步吗? –

+0

编辑我的答案,希望现在清除 – amicoderozer