2015-05-24 37 views
7

Tôi đã từng gặp vấn đề này với wildfly 8 nhưng đã được giải quyết bao gồm eclipselink.jar trong $ WILDFLY_HOME/modules/system/layers/base/org/eclipse/persistence/main và cập nhật module.xml với nguồn gốcTriển khai thất bại trên Wildfly 9

<resource-root path="eclipselink.jar" /> 

và kể cả trên mô-đun ejb của tôi pom.xml

<dependency> 
     <groupId>org.eclipse.persistence</groupId> 
     <artifactId>eclipselink</artifactId> 
     <version>2.6.0</version> 
     <scope>provided</scope> 
    </dependency> 

này hoạt động tốt trong Wildfly 8. *. Thật không may sử dụng các kỹ thuật tương tự cho Wildfly 9CR1 đã liên tục thất bại với bản ghi dưới đây:

08:52:31,028 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-6) MSC000001: Failed to start service jboss.deployment.unit."rga-ear-1.0.ear".FIRST_MODULE_USE: org.jboss.msc.service.StartException in service jboss.deployment.unit."rga-ear-1.0.ear".FIRST_MODULE_USE: WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment "rga-ear-1.0.ear" 
    at 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.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: java.util.ServiceConfigurationError: javax.persistence.spi.PersistenceProvider: Provider org.eclipse.persistence.jpa.PersistenceProvider could not be instantiated 
    at java.util.ServiceLoader.fail(ServiceLoader.java:232) 
    at java.util.ServiceLoader.access$100(ServiceLoader.java:185) 
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:384) 
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:404) 
    at java.util.ServiceLoader$1.next(ServiceLoader.java:480) 
    at org.jboss.as.jpa.persistenceprovider.PersistenceProviderLoader.loadProviderModuleByName(PersistenceProviderLoader.java:70) 
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.lookupProvider(PersistenceUnitServiceHandler.java:998) 
    at org.jboss.as.jpa.processor.PersistenceUnitServiceHandler.nextPhaseDependsOnPersistenceUnit(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 more 
Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method "org.eclipse.persistence.jpa.PersistenceProvider.getProviderUtil()Ljavax/persistence/spi/ProviderUtil;" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, org/eclipse/persistence/jpa/PersistenceProvider, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for interface javax/persistence/spi/PersistenceProvider have different Class objects for the type javax/persistence/spi/ProviderUtil used in the signature 
    at java.lang.Class.getDeclaredConstructors0(Native Method) 
    at java.lang.Class.privateGetDeclaredConstructors(Class.java:2658) 
    at java.lang.Class.getConstructor0(Class.java:2964) 
    at java.lang.Class.newInstance(Class.java:403) 
    at java.util.ServiceLoader$LazyIterator.nextService(ServiceLoader.java:380) 
    ... 13 more 

08:52:31,195 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) WFLYCTL0013: Operation ("deploy") failed - address: ([("deployment" => "rga-ear-1.0.ear")]) - failure description: {"WFLYCTL0080: Failed services" => {"jboss.deployment.unit.\"rga-ear-1.0.ear\".FIRST_MODULE_USE" => "org.jboss.msc.service.StartException in service jboss.deployment.unit.\"rga-ear-1.0.ear\".FIRST_MODULE_USE: WFLYSRV0153: Failed to process phase FIRST_MODULE_USE of deployment \"rga-ear-1.0.ear\" 
    Caused by: java.util.ServiceConfigurationError: javax.persistence.spi.PersistenceProvider: Provider org.eclipse.persistence.jpa.PersistenceProvider could not be instantiated 
    Caused by: java.lang.LinkageError: loader constraint violation in interface itable initialization: when resolving method \"org.eclipse.persistence.jpa.PersistenceProvider.getProviderUtil()Ljavax/persistence/spi/ProviderUtil;\" the class loader (instance of org/jboss/modules/ModuleClassLoader) of the current class, org/eclipse/persistence/jpa/PersistenceProvider, and the class loader (instance of org/jboss/modules/ModuleClassLoader) for interface javax/persistence/spi/PersistenceProvider have different Class objects for the type javax/persistence/spi/ProviderUtil used in the signature"}} 

Tôi cũng đã cố gắng loại bỏ các

<resource-root path="eclipselink.jar" /> 
eclipselink.jar 

Nhưng được một lỗi Persistence Provider khác nhau Not Found. Đây có phải là lỗi Wildfly hoặc có điều gì đó mà tôi không làm đúng không?

+0

Có vẻ như bạn đang tải hai lớp 'javax.persistence.spi.PersistenceProvider' khác nhau. Liệu nhật thực liên kết gói này trong kho lưu trữ của nó? –

+0

Không, liều eclipselink.jar không có javax.persistence.spi.PersistenceProvider – Paullo

+1

Có thể nó được đóng gói trong EAR của bạn không? Chắc chắn có hai bản sao của nó trên con đường lớp học của bạn. –

Trả lời

20

Đã cùng một vấn đề, và giải quyết sử dụng tài liệu wf9: wildlfy 9 eclipselink

về cơ bản, thay vì <resource-root path="eclipselink.jar" />

nơi này

<resource-root path="eclipselink.jar"> 
     <filter> 
       <exclude path="javax/**" /> 
     </filter> 
     </resource-root> 

Bằng cách này, tôi đang sử dụng eclipslink 2.5.2

+0

Giải pháp hoàn hảo - đã làm việc cho tôi! Cảm ơn nhiều! :) – Rafcik

Các vấn đề liên quan