2016-05-06 55 views
0

我在netbeans 8.1下安裝了wildfly 9.0.2,並且因爲我已經配置了一個項目來使用EclipseLink,我試圖配置wildfly來使用它。 到現在爲止,我在Glassfish Server 4下開發了我的應用程序。我不想開始使用WildFly。 項目被創建使用maven,
這裏是服務器日誌:如何配置wildfly 9.0.2以在netbeans 8.1下使用EclipseLink

09:54:13557 INFO [org.jboss.as.jpa](MSC服務線程1-6)WFLYJPA0002:閱讀的persistence.xml AdisMngmtPU 09:54:13,684錯誤[org.jboss.msc.service.fail](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:未能處理部署「EAmvnWildfly-ear-1.0.ear」時的階段FIRST_MODULE_USE在012b處org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163) at org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1881) at java.util。併發.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745) Caused通過:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvider'org.eclipse.persistence.jpa.PersistenceProvider'找不到 at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:1007) at org。 jboss.as.jpa.processor.PersistenceUnitServiceHandler.nextPhaseDependsOnPersi (PersistenceUnitServiceHandler.java:1046) at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.deploy(PersistenceUnitServiceHandler.java:136) at org.jboss.as.jpa.processor.PersistenceBeginInstallProcessor.deploy(PersistenceBeginInstallProcessor.java: 52) at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156) ... 5更多 09:54:13,703錯誤[org.jboss.as.controller.management-operation] (DeploymentScanner-threads-2)WFLYCTL0013:Operation(「full-replace-deployment」)failed - address:([]) - failure description:{「WFLYCTL0080:Failed services」=> {「jboss.deployment.unit。\」 EAmvnWildfly-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:Failed to凝固酶原部署的FIR階段FIRST_MODULE_USE \「EAmvnWildfly-ear-1.0.ear \」 導致:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvider'org.eclipse.persistence.jpa.PersistenceProvider'找不到「}} 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:無法啓動的服務:服務jboss.deployment.unit。「EAmvnWildfly-ear-1.0.ear」.FIRST_MODULE_USE service jboss 「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:未能PR (MSC服務線程1-5)WFLYSRV0208:已停止的子部署(運行時間 - 運行時間) - 運行時間 - 運行時間 - 運行時間 - 運行時間 - 運行時間 - 運行時間 - 運行時間 - 名稱:EAmvnWildfly-web-1.0.war)in 91ms 09:54:26,749信息[org.jboss.as.server.deployment](MSC服務線程1-5)WFLYSRV0028:停止部署EAmvnWildfly-ear-1.0.ear(運行時名稱:EAmvnWildfly-ear-1.0。耳朵)in 112ms 09:54:26,759 INFO [org.jboss.as.server.deployment](MSC服務線程1-7)WFLYSRV0027:開始部署「EAmvnWildfly-ear-1.0.ear」(runtime-name:「 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的persistence.xml 09:54:27,236錯誤[org.jboss.msc。 service.fail](MSC服務線程1-7)MSC000001:無法啓動服務jboss.deployment.unit。「EAmvnWildfly-ear-1.0.ear」.FIRST_MODULE_USE:服務jboss.deployment中的org.jboss.msc.service.StartException .unit。「EAmvnWildfly-ear-1.0.ear」.FIRST_MODULE_USE:WFLYSRV0153:未能處理部署階段FIRST_MODULE_USE「EAmvnWildfly-ear-1.0.ear」 在org.jboss.ms.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1948) at org.jboss。 (ThreadPoolExecutor.runWorker)(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor。 java:617) at java.lang.Thread.run(Thread.java:745) 引起:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvider'org.eclipse.persistence.jpa.PersistenceProvider'未找到 at 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) 在有機.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:Operation(「full-replace-deployment」)failed - address:([]) - failure description :{「WFLYCTL0080:失敗的服務」=> {「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 \「EAmvnWildfly-ear-1.0.ear \」 由於:javax.persistence.PersistenceException:WFLYJPA0057:PersistenceProvider'org.eclipse.persistence.jpa.PersistenceProvider'找不到「 }} 09:54:28,882信息[org.jboss.as.server](DeploymentScanner-threads-2)WFLYSRV0016:用部署「EAmvnWildfly-ear-1.0.ear」替換部署「EAmvnWildfly-ear-1.0.ear」 09:54:28,882 INFO [org.jboss.as.controller](DeploymentScanner-threads-2)WFLYCTL0183:服務狀態報告 WFLYCTL0186:無法啓動的服務:服務jboss.deployment.unit。「EAmvnWildfly-ear-1.0。耳朵「.FIRST_MODULE_USE se rmvbb.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:未能處理部署「EAmvnWildfly入耳式1.0.ear」

我的堅持的階段FIRST_MODULE_USE。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

即使我使用Wildfly 10的步驟,使用的EclipseLink在Wildfly 9是相同的,據我記得(因此,如果他們有一個版本號,你可能會調整一些文件名):

  1. 複製的EclipseLink-2.6.1.jar到該文件夾​​ /wildfly-10.0.0.Final/modules/system/layers/base/org/eclipse/persistence/main

  2. 編輯在同一文件夾中的module.xml文件:

<resources> 
     <resource-root path="jipijapa-eclipselink-10.0.0.Final.jar"/> 
     <resource-root path="eclipselink-2.6.1.jar"> 
     <filter> 
       <exclude path="javax/**" /> 
     </filter> 
</resource-root> 
    </resources> 
  • 如果使用的是MySQL需要MySQL的連接器放置到 /wildfly-10.0.0.Final/modules/system/layers/base/com/sql/mysql/main

  • 在您的獨立-full.xml(或standalone.xml如果您正在使用它)您需要包括您的數據源和驅動程序:

    <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這需要以某種方式)

  • 你可能想在你的獨立,full.xml包括

    <system-properties> 
        <property name="eclipselink.archive.factory" value="org.jipijapa.eclipselink.JBossArchiveFactoryImpl"/> 
    </system-properties> 
    
  • 如果不包括這一點,的EclipseLink將使用駝峯的表名等

  • 您的項目不應包含任何依賴關係到Dom4J,因爲您可能遇到ClassCast異常。
  • 我認爲就是這樣。

    +0

    謝謝我會試試看,並看到 ,但現在我面臨一個新問題 WildFly應用程序服務器啓動失敗。 HTTP連接器端口8080已被使用。 – Hbar01

    +0

    當你的wildfly沒有正確關閉並且仍然阻塞端口(或另一個進程使用此端口)時,可能會發生這種情況。如果它是你的wild,,請通過進程管理器終止進程(或者如果找不到進程,請重新啓動計算機) –

    1

    我剛剛得到了所有這些問題讓eclipselink 2.6.3在Wildfly 10上運行,它運行在Windows 7,64位平臺上。

    Joachim Rohde所說的一切都是正確的,這在蜻蜓開發人員指南https://docs.jboss.org/author/display/WFLY10/JPA+Reference+Guide#JPAReferenceGuide-UsingEclipseLink中也有描述。

    您必須完全按照這些說明操作,否則會出現錯誤。但是,有兩個例外:

    1. 的dom4j的依賴問題不是依賴問題,或者不再與我所使用的版本中的問題(它似乎可以被包含在module.xml依賴關係列表沒有錯誤 - 至少沒有錯誤)。

    2. 相反,activemq artemis引用存在依賴關係問題(依賴項必須添加到module.xml中的依賴項列表中)。它的工作使用下面的參考:

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

    添加到依賴關係列表或找到您Wildfly版本的模塊中對它的引用(如果包括的話)。