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

标签 java spring hibernate jpa websphere

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

jars included in my project

但我知道所有服务器都有一个版本的 jpa,并且 websphere 7 使用的是我在其 jar 中找到的 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://stackoverflow.com/a/38505479/6503002

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

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

第 2 步:在左侧的 Websphere 控制台中,您有环境部分,其中包含共享库子部分:

Websphere console

在这里创建一个新的共享库,为其指定您想要的名称,然后在类路径文本区域中插入您之前创建的文件夹的路径(例如/usr/sharedHibernate)

Shared libraries

关于java - WebSphere7 : java. lang.NoSuchMethodError : javax/persistence/spi/PersistenceUnitInfo. getSharedCacheMode()Ljavax/persistence/SharedCacheMode;,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45441713/

相关文章:

java - 安装错误未知故障

java - 尝试使用 Spring WebFlow 在 Hibernate 中配置 c3p0 池

mysql事务悲观锁损坏

java - 并发/非阻塞控制台键盘输入

java - 以编程方式将 Xtend 类设置为 Java 类的父类(super class)

java - Spring 4.2 中 EhCacheManager 出现类未找到异常

java - Cloudant 429 模型过多

java - 为每个测试刷新存储库填充器

java - 如何使用 spring-boot 阻止插入并仅允许更新我的对象?

Java Selenium,如何从链接 WebElement 获取 linkText( anchor )