我正在尝试在Websphere 8.5.5.13上部署War文件。它连接到oracle(11g)db,甚至我已经在Websphere上创建了数据源连接。 正在安装该应用程序,但是当我尝试启动该应用程序时,出现以下错误:
[29/10/18 15:00:49:733 IST] 000001e1 SystemErr R由以下原因引起:com.ibm.ws.webcontainer.exception.WebAppNotLoadedException:无法加载webapp:创建名称为'的bean时出错在类路径资源[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]中定义的entityManagerFactory:调用init方法失败;嵌套异常是java.lang.NoSuchMethodError:javax / persistence / Table.indexes()[Ljavax / persistence / Index; (从org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@180c62e2从文件:/ C:/ Program Files(x86)/IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar加载)。 hibernate.cfg.annotations.EntityBinder(从文件:/ C:/ Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/DefaultAppServer/installedApps/AntivirusServerNode01Cell/cream_war.ear/cream.war/WEB-INF加载/lib/hibernate-core-5.0.12.Final.jar by
[29/10/18 15:00:49:733 IST] 000001e1 SystemErr R原因:org.springframework.beans.factory.BeanCreationException:创建类路径资源中定义的名称为'entityManagerFactory'的bean时出错[org / springframework / boot / autoconfigure / orm / jpa / HibernateJpaAutoConfiguration.class]:调用init方法失败;嵌套异常是java.lang.NoSuchMethodError:javax / persistence / Table.indexes()[Ljavax / persistence / Index; (从org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@180c62e2从文件:/ C:/ Program Files(x86)/IBM/WebSphere/AppServer/plugins/javax.j2ee.persistence.jar加载)。 hibernate.cfg.annotations.EntityBinder(从文件:/ C:/ Program%20Files%20(x86)/IBM/WebSphere/AppServer/profiles/DefaultAppServer/installedApps/AntivirusServerNode01Cell/cream_war.ear/cream.war/WEB-INF加载/lib/hibernate-core-5.0.12.Final.jar by
我也尝试更改hibernate和jpa的版本,但这也没有用。 但是,当我在不使用oracle db(使用h2或derby)的情况下部署应用程序时,它可以正常运行。
请帮助我解决此错误。
答案 0 :(得分:1)
var textBody = TextBox_Text.Text.Split(
new char[] {'\n'},
StringSplitOptions.RemoveEmptyEntries);
表示Hibernate正在尝试在NoSuchMethodError
上调用不存在的方法。 javax.persistence.Table
类是从Table
加载的,因此WAS本身提供了不兼容的类。
默认情况下,WAS 8.5.5使用JPA 2.0,但它遵循is possible to use JPA 2.1的步骤here。您已经完成了“在应用程序中嵌入第三方持久性提供程序”中描述的大多数步骤。剩下的第一步是配置应用程序的类加载器顺序,以便与应用程序服务器提供的类相比,它更喜欢与应用程序捆绑在一起的类。