java - 如何配置 wildfly 以使用 EclipseLink?

标签 java eclipselink wildfly wildfly-8

我已经安装了 wildfly 8.1,因为我已经有一个项目配置为使用 EclipseLink,所以我尝试配置 wildfly 以使用它。

但是,它总是给出相同的错误:

at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:166) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
 at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
 at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_25]
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_25]
 at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25]
Caused by: javax.persistence.PersistenceException: JBAS011466: PersistenceProvider '
org.eclipse.persistence.jpa.PersistenceProvider
' not found
 at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:990)
 at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.addPuService(PersistenceUnitServiceHandler.java:258)
 at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.handleWarDeployment(PersistenceUnitServiceHandler.java:191)
 at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:126)
 at org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:52)
 at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:159) [wildfly-server-8.1.0.Final.jar:8.1.0.Final]
 ... 5 more

我已按照 official documentation 的说明进行操作,但没有任何改变。我已将 eclipseLink 的 jar 添加到“modules\system\layers\base\org\eclipse\persistence\main” 和 module.xml :

<module xmlns="urn:jboss:module:1.3" name="org.eclipse.persistence">
    <resources>
        <resource-root path="jipijapa-eclipselink-1.0.1.Final.jar"/>
        <resource-root path="eclipselink.jar"/>
    </resources>

    <dependencies>
        <module name="asm.asm"/>
        <module name="javax.api"/>
        <module name="javax.annotation.api"/>
        <module name="javax.enterprise.api"/>
        <module name="javax.persistence.api"/>
        <module name="javax.transaction.api"/>
        <module name="javax.validation.api"/>
        <module name="javax.xml.bind.api"/>
        <module name="org.antlr"/>
        <module name="org.apache.commons.collections"/>
        <module name="org.dom4j"/>
        <module name="org.javassist"/>
        <module name="org.jboss.as.jpa.spi"/>
        <module name="org.jboss.logging"/>
        <module name="org.jboss.vfs"/>
    </dependencies>
</module>

你知道问题出在哪里吗?

感谢

编辑: 我的persistence.xml

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="AppPu">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <jta-data-source>java:/H2Ds</jta-data-source>
        <exclude-unlisted-classes>false</exclude-unlisted-classes>
    </persistence-unit>
</persistence>

最佳答案

persistence.xml 的提供程序部分中的新行将不起作用(它有什么帮助?)。 Wildfly 尚未在库中提供 eclipseLink 实现。要解决此问题,请按照以下步骤操作:

  1. 下载 eclipselink.jar(或从您的 maven 存储库中复制)
  2. 复制到 目的地 : ...Wildfly\modules\system\layers\base\org\eclipse\persistence\main
  3. 编辑 module.xml(相同路径)。添加部分 <resource-root path="eclipselink.jar"><filter><exclude path="javax/**" /></filter></resource-root>

服务器重启后一切正常。

关于java - 如何配置 wildfly 以使用 EclipseLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25766872/

相关文章:

java - 多个项目中的实体

java - 从实体生成表

java - 如何增加WildFly的堆内存?

java - Wildfly:org.jboss.as.controller.registry.FastCopyHashMap

java - EJB 抽象实体导致 java.lang.NoClassDefFoundError?

java - WildFly - 创建具有长时间运行的应用程序的应用程序

java - 如何按自定义顺序对字符串数组进行排序?

java - hdfs文件权限

java - Swing 分层 - 透明组件忽略底层 AWT 元素

java - 可变数量的嵌套 For 循环