首页 文章

如何在netbeans 8.1下配置wildfly 9.0.2以使用EclipseLink

提问于
浏览
0

我在netbeans 8.1下安装了wildfly 9.0.2,因为我已经配置了一个使用EclipseLink的项目,我试图配置wildfly来使用它 . 到目前为止,我在Glassfish Server 4下开发了我的应用程序 . 我想开始使用WildFly . 项目是使用maven创建的,
这是服务器日志:

09:54:13,557 INFO [org.jboss.as.jpa](MSC服务主题1-6)WFLYJPA0002:为AdisMngmtPU 09:54:13,684 ERROR [org.jboss.msc.service.fail]读取persistence.xml( MSC服务线程1-4)MSC000001:无法启动服务jboss.deployment.unit . “EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE:服务jboss.deployment.unit中的org.jboss.msc.service.StartException . “EAmvnWildfly -ear-1.0.ear” .FIRST_MODULE_USE:WFLYSRV0153:无法处理的部署相FIRST_MODULE_USE “在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)EAmvnWildfly入耳式1.0.ear” 在org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1948)位于java.util.concurrent.ThreadPoolExecutor的org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1881) . runWorker(ThreadPoolExecutor.java:1142)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)at java.lang.Thread.run(Thread.jav)一个:javax.persistence.PersistenceException::745)致WFLYJPA0057:PersistenceProvider类 'org.eclipse.persistence.jpa.PersistenceProvider' 在org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider未找到(PersistenceUnitServiceHandler.java:1007)在org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.nextPhaseDependsOnPersistenceUnit(PersistenceUnitServiceHandler.java:1046)在org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:136)在org.jboss.as.jpa .processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:52)at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)... 5 more 09:54:13,703 ERROR [org.jboss . as.controller.management-operation](DeploymentScanner-threads - 2)WFLYCTL0013:操作(“完全替换 - 部署”)失败 - 地址:([]) - 失败描述:{“WFLYCTL0080:失败的服务”=> {“ jboss.deployment.unit . \“EAmvnWil dfly-ear-1.0.ear \“ . FIRST_MODULE_USE”=>“org.jboss.msc.service.StartException in service jboss.deployment.unit . \”EAmvnWildfly-ear-1.0.ear \“ . FIRST_MODULE_USE:WFLYSRV0153:失败了进程阶段FIRST_MODULE_USE of deployment \“EAmvnWildfly-ear-1.0.ear \”引起:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvider'org.eclipse.persistence.jpa.PersistenceProvider'not found“}} 09:54:16,582 INFO [org.jboss.as.server](DeploymentScanner-threads - 2)WFLYSRV0016:用部署“EAmvnWildfly-ear-1.0.ear”替换部署“EAmvnWildfly-ear-1.0.ear”09:54:16,583 INFO [org.jboss .as.controller](DeploymentScanner-threads - 2)WFLYCTL0183:服务状态报告WFLYCTL0186:无法启动的服务:service jboss.deployment.unit . “EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE service jboss.deployment.unit . 服务jboss.deployment.unit中的“EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE:org.jboss.msc.service.StartException . “EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE:WFL YSRV0153:无法处理部署FIRST_MODULE_USE部署“EAmvnWildfly-ear-1.0.ear”09:54:26,739 INFO [org.jboss.as.server.deployment](MSC服务线程1-5)WFLYSRV0208:停止子部署(运行时 - 名称:EAmvnWildfly-web-1.0.war)91ms 09:54:26,749 INFO [org.jboss.as.server.deployment](MSC服务主题1-5)WFLYSRV0028:停止部署EAmvnWildfly-ear-1.0.ear(运行时) -name:EAmvnWildfly-ear-1.0.ear)in 112ms 09:54:26,759 INFO [org.jboss.as.server.deployment](MSC服务主题1-7)WFLYSRV0027:开始部署“EAmvnWildfly-ear-1.0 . ear“(运行时名称:”EAmvnWildfly-ear-1.0.ear“)09:54:26,789 INFO [org.jboss.as.server.deployment](MSC服务线程1-7)WFLYSRV0207:启动子部署(运行时名称) :“EAmvnWildfly-web-1.0.war”)09:54:27,197 INFO [org.jboss.as.jpa](MSC服务主题1-7)WFLYJPA0002:为AdisMngmtPU 09:54:27,236读取persistence.xml错误[org .jboss.msc.service.fail](MSC服务主题1-7)MSC000001:无法启动服务jboss.de ployment.unit . “EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE:服务中的org.jboss.msc.service.StartExceptionjboss.deployment.unit“EAmvnWildfly入耳式1.0.ear” .FIRST_MODULE_USE:WFLYSRV0153:无法处理部署“EAmvnWildfly入耳式1.0.ear”的阶段FIRST_MODULE_USE在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start (DeploymentUnitPhaseService.java:163)在org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1948)在org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1881)在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)java.lang.Thread.run(Thread.java:745) javax.persistence.PersistenceException:由造成WFLYJPA0057:PersistenceProvider类 'org.eclipse.persistence.jpa.PersistenceProvider' 在org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:1007)没有发现在org.jboss .as.jpa.processor.PersistenceUnitServiceHandler.nextPhaseD ependsOnPersistenceUnit(PersistenceUnitServiceHandler.java:1046)在org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:136)在org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java:52)在org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)... 5更多09:54:27,279 ERROR [org.jboss.as.controller.management-operation](DeploymentScanner-threads - 2)WFLYCTL0013:操作(“完全替换 - 部署”)失败 - 地址:([]) - 失败描述:{“WFLYCTL0080:失败的服务”=> {“jboss.deployment.unit . \”EAmvnWildfly-ear-1.0 “FIRST_MODULE_USE” 的.ear \ => “org.jboss.msc.service.StartException在服务jboss.deployment.unit \” . EAmvnWildfly入耳式1.0.ear \” FIRST_MODULE_USE:WFLYSRV0153:无法处理的部署相FIRST_MODULE_USE \“EAmvnWildfly-ear-1.0.ear \”引起:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvide r'org.eclipse.persistence.jpa.PersistenceProvider'not found“}} 09:54:28,882 INFO [org.jboss.as.server](DeploymentScanner-threads - 2)WFLYSRV0016:替换了部署”EAmvnWildfly-ear-1.0 . ear“with deployment”EAmvnWildfly-ear-1.0.ear“09:54:28,882 INFO [org.jboss.as.controller](DeploymentScanner-threads - 2)WFLYCTL0183:服务状态报告WFLYCTL0186:无法启动的服务:service jboss .deployment.unit “EAmvnWildfly入耳式1.0.ear” .FIRST_MODULE_USE服务jboss.deployment.unit “EAmvnWildfly入耳式1.0.ear” .FIRST_MODULE_USE: . org.jboss.msc.service.StartException服务jboss.deployment . 单位 . “EAmvnWildfly-ear-1.0.ear”.FIRST_MODULE_USE:WFLYSRV0153:无法处理部署FIRST_MODULE_USE部署“EAmvnWildfly-ear-1.0.ear”

我的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="AdisMngmtPU" transaction-type="JTA">
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <jta-data-source>java:/AdisMngmtDS</jta-data-source>
    <exclude-unlisted-classes>false</exclude-unlisted-classes>
    <properties>
      <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
    </properties>
  </persistence-unit>
</persistence>

2 回答

  • 2

    尽管我正在使用Wildfly 10,但在Wildfly 9中使用EclipseLink的步骤与我记忆中的完全相同(因此,如果它们包含版本号,您可能会调整一些文件名):

    • 将eclipselink-2.6.1.jar复制到文件夹 /wildfly-10.0.0.Final/modules/system/layers/base/org/eclipse/persistence/main

    • 在同一文件夹中编辑module.xml文件:

    <资源>

    <resource-root path =“jipijapa-eclipselink-10.0.0.Final.jar”/> <resource-root path =“eclipselink-2.6.1.jar”> <滤波器> <exclude path =“javax / **”/> </过滤器> </资源根> </资源>

    • 如果您使用的是MySql,则需要将MySql连接器放入 /wildfly-10.0.0.Final/modules/system/layers/base/com/sql/mysql/main

    • 在standalone-full.xml(或standalone.xml,如果您正在使用它)中,您需要包含您的DataSources和驱动程序:

    <subsystem xmlns="urn:jboss:domain:datasources:4.0">
        <datasources>
            <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
        <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
                <driver>h2</driver>
                <security>
                    <user-name>sa</user-name>
                    <password>sa</password>
                </security>
            </datasource>
            <datasource jndi-name="java:/AdisMngmtDS" pool-name="AdisMngmtDS" enabled="true">
                <connection-url>jdbc:mysql://localhost/AdisMngmtDS</connection-url>
                <driver>mysql</driver>
                <security>
                    <user-name>root</user-name>
                    <password>password</password>
                </security>
                <validation>
                    <valid-connection-checker class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLValidConnectionChecker"/>
                    <exception-sorter class-name="org.jboss.jca.adapters.jdbc.extensions.mysql.MySQLExceptionSorter"/>
                </validation>
            </datasource>               
            <drivers>
                <driver name="h2" module="com.h2database.h2">
                   <xa-datasource-class>org.h2.jdbcx.JdbcDataSource</xa-datasource-class>
                </driver>
                <driver name="mysql" module="com.mysql">
                    <driver-class>com.mysql.jdbc.Driver</driver-class>
                    <xa-datasource-class>com.mysql.jdbc.jdbc2.optional.MysqlXADataSource</xa-datasource-class>
                </driver>
            </drivers>
        </datasources>
    </subsystem>
    

    (你不应该删除示例数据源,因为Wildfly需要以某种方式)

    • 您可能希望包含在standalone-full.xml中
    <system-properties>
        <property name="eclipselink.archive.factory" value="org.jipijapa.eclipselink.JBossArchiveFactoryImpl"/> 
    </system-properties>
    

    如果不包含此内容,EclipseLink将使用CamelCase作为表名等 .

    • 您的项目不应包含任何与Dom4J的依赖关系,因为您可能会遇到ClassCast-Exceptions .

    我想就是这样 .

  • 1

    我刚刚遇到所有这些问题,让eclipselink 2.6.3在Wildfly 10上运行,Wildfly 10运行在Windows 7,64位平台上 .

    Joachim Rohde所说的一切都是正确的,这也是在Wildfly开发者指南https://docs.jboss.org/author/display/WFLY10/JPA+Reference+Guide#JPAReferenceGuide-UsingEclipseLink中描述的 .

    您必须完美地遵循这些说明,否则会出现错误 . 但是,有两个例外:

    • dom4j依赖问题不是依赖问题,或者不再是我使用的版本的问题(似乎它可以包含在module.xml中的依赖列表中而没有错误 - 至少没有错误) .

    • 相反,activemq artemis引用存在依赖性问题(必须将依赖项添加到module.xml中的依赖项列表中) . 它使用以下参考:

    module name="org.apache.activemq.artemis"
    

    添加到依赖项列表或在您的Wildfly版本的模块中找到它的引用(如果包含它) .

相关问题