1

我有一个现有的 WAR,其中包含 JAX-WS 服务,使用 EclipseLink JPA 连接 Oracle 数据库。我想在 WSO2 应用程序服务器上部署它。

由于 WSO2AS 带有 Hibernate,因此使其工作的方法似乎是在 WAR 中包含必要的 EclipseLink jar。我将这些 jars 包含在 WEB-INF/lib 中:

  • org.eclipse.persistence.antlr-2.5.2.jar
  • org.eclipse.persistence.asm-2.5.2.jar
  • org.eclipse.persistence.core-2.5.2.jar
  • org.eclipse.persistence.jpa.jpql-2.5.2.jar
  • org.eclipse.persistence.jpa-2.5.2.jar
  • org.eclipse.persistence.oracle-2.5.2.jar

当我通过将战争复制到 wso2as-5.3.0/repository/deployment/server/webapps 来部署战争时,我收到以下错误消息:

[2016-09-30 12:09:46,761] ERROR {org.apache.tomee.catalina.TomcatWebAppBuilder} -  Unable to deploy collapsed ear in war StandardEngine[Catalina].StandardHost[localhost].StandardContext[/hello]
org.apache.openejb.OpenEJBException: Creating application failed: /home/koert/software/wso2as-5.3.0/repository/deployment/server/webapps/hello: org.apache.openejb.OpenEJBRuntimeException: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [pasPU] failed.
Internal Exception: java.lang.NoClassDefFoundError: org/eclipse/persistence/platform/server/JMXServerPlatformBase: javax.persistence.PersistenceException: Exception [EclipseLink-28018] (Eclipse Persistence Services - 2.5.2.v20140319-9ad6abd): org.eclipse.persistence.exceptions.EntityManagerSetupException
Exception Description: Predeployment of PersistenceUnit [pasPU] failed.
Internal Exception: java.lang.NoClassDefFoundError: org/eclipse/persistence/platform/server/JMXServerPlatformBase
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:970)
    at org.apache.openejb.assembler.classic.Assembler.createApplication(Assembler.java:652)
...

JMXServerPlatformBase 类包含在 org.eclipse.persistence.core-2.5.2.jar 中,所以这看起来像是一个类加载问题。

我试图将 EclipseLink jars 放入:-lib/runtimes/ext-repository/components/lib

在那之后,我仍然得到同样的例外。

我在 META-INF 中有一个 webapp-classloading.xml,在环境中有 Javaee。

如何让 EclipseLink 在 WSO2AS 中工作?

4

0 回答 0