【问题标题】:WebSphere7 : java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;WebSphere7 : java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode;
【发布时间】:2017-08-01 15:20:12
【问题描述】:

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

jars included in my project

但我知道所有服务器都有一个 jpa 版本,而 websphere 7 使用的是我在它的 jar 中找到的 1.0,这是它的图片,

WebSphere 7 jars

如果有人知道如何解决这个问题或发现这个问题,我会非常感激,提前谢谢你,我会留下完整的堆栈跟踪以获取更多信息:

引起:java.lang.NoSuchMethodError: javax/persistence/spi/PersistenceUnitInfo.getSharedCacheMode()Ljavax/persistence/SharedCacheMode; 在 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 更多

【问题讨论】:

    标签: java spring hibernate jpa websphere


    【解决方案1】:

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

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

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

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

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

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

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

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

    【讨论】:

    • 我很乐意,但步骤对我来说不是很清楚,因为我对 websphere 很陌生,我只是因为我所在公司的特殊需求才开始工作有我的实习,如果你能在 Skype 上联系我,以更好的方式向我解释这些步骤,我将不胜感激,谢谢。
    • 你能给我解释一下第一步和第二步吗?
    • 感谢您的帮助,但我只在本地主机上工作,我应该在哪里使用 jars 创建休眠文件?
    • 啊好的对不起,我不明白你在本地工作。我从不在本地使用 websphere 7,但根据此链接 stackoverflow.com/questions/7792963/…,可以配置另一个 jpa 提供程序。您必须访问管理控制台。它应该在这个 url localhost:9060/ibm/console 上可用。这个问题可能会帮助您访问它:stackoverflow.com/questions/13712154/…
    猜你喜欢
    • 1970-01-01
    • 2014-06-24
    • 2012-11-22
    • 2015-02-04
    • 1970-01-01
    • 2017-04-02
    • 1970-01-01
    • 2014-04-05
    • 2014-12-24
    相关资源
    最近更新 更多