2015-06-22 34 views
1

我們在這個過程中的Java 7和JBoss 7遷移至Wildfly和Java進行多次處理8.IllegalStateException:重新使用ArchiveDescriptor;可以在網址中使用的Java WildFly 8

我已經添加了所有可用的焊接利布斯,因爲錯誤說weldClass是失蹤。

在此過程中出現錯誤。

2015-06-22 10:16:56,694 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 59) MSC000001: Failed to start service jboss.persistenceunit."foo_all.ear/foo_sb.jar#foo": org.jboss.msc.service.StartException in service jboss.persistenceunit."foo_all.ear/foo_sb.jar#foo": java.lang.IllegalStateException: ArchiveDescriptor reused; can URLs be processed multiple times? 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:172) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:117) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_45] 
    at org.wildfly.security.manager.WildFlySecurityManager.doChecked(WildFlySecurityManager.java:474) 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1.run(PersistenceUnitServiceImpl.java:182) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_45] 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_45] 
    at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_45] 
    at org.jboss.threads.JBossThread.run(JBossThread.java:122) 
Caused by: java.lang.IllegalStateException: ArchiveDescriptor reused; can URLs be processed multiple times? 
    at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.validateReuse(AbstractScannerImpl.java:223) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.buildArchiveDescriptor(AbstractScannerImpl.java:102) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.scan.spi.AbstractScannerImpl.scan(AbstractScannerImpl.java:70) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.scan(EntityManagerFactoryBuilderImpl.java:725) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.<init>(EntityManagerFactoryBuilderImpl.java:221) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.boot.spi.Bootstrap.getEntityManagerFactoryBuilder(Bootstrap.java:51) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:182) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.HibernatePersistenceProvider.getEntityManagerFactoryBuilder(HibernatePersistenceProvider.java:177) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at org.hibernate.jpa.HibernatePersistenceProvider.createContainerEntityManagerFactory(HibernatePersistenceProvider.java:152) [hibernate-entitymanager-4.3.7.Final.jar:4.3.7.Final] 
    at de.foo.bbis.srv.persistenceprovider.fooHibernatePersistenceProvider.createContainerEntityManagerFactory(fooHibernatePersistenceProvider.java:94) [foo_sb.jar:] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.createContainerEntityManagerFactory(PersistenceUnitServiceImpl.java:318) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl.access$1100(PersistenceUnitServiceImpl.java:67) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    at org.jboss.as.jpa.service.PersistenceUnitServiceImpl$1$1.run(PersistenceUnitServiceImpl.java:167) [wildfly-jpa-8.2.0.Final.jar:8.2.0.Final] 
    ... 8 more 

2015-06-22 10:16:56,923 ERROR [org.jboss.as.controller.management-operation] (Controller Boot Thread) JBAS014613: Operation ("deploy") failed - address: ([("deployment" => "foo_all.ear")]) - failure description: { 
    "JBAS014671: Failed services" => {"jboss.persistenceunit.\"foo_all.ear/foo_sb.jar#foo\"" => "org.jboss.msc.service.StartException in service jboss.persistenceunit.\"foo_all.ear/foo_sb.jar#foo\": java.lang.IllegalStateException: ArchiveDescriptor reused; can URLs be processed multiple times? 
    Caused by: java.lang.IllegalStateException: ArchiveDescriptor reused; can URLs be processed multiple times?"}, 
    "JBAS014771: Services with missing/unavailable dependencies" => ["jboss.deployment.unit.\"foo_all.ear\".weld.weldClassIntrospector is missing [jboss.deployment.unit.\"foo_all.ear\".beanmanager]"] 
} 

耳朵文件可以部署,服務器可以啓動。但是在創建ear文件後,必須在主要部署的根目錄中部署子部署。我們使用PersistenceProvider類

一個定製的XML持久性看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<persistence xmlns="http://java.sun.com/xml/ns/persistence" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_1.xsd" 
    version="2.1"> 
    <persistence-unit name="foo"> 
     <provider>de.foo.srv.persistenceprovider.fooHibernatePersistenceProvider</provider> 
     <jta-data-source>java:/foo</jta-data-source> 
     <jar-file>foo_sb.jar</jar-file> 
     <properties> 
      <property name="jboss.as.jpa.adapterModule" value="org.jboss.as.jpa.hibernate:4" /> 
     </properties> 
    </persistence-unit> 
</persistence> 

回答

1

我解決了這個問題。我的例子中的問題是我的persistence.xml中的這一行。

<jar-file>foo_sb.jar</jar-file> 

的JAR文件標籤與JBoss AS7運作良好,但使用Hibernate 4.3.7不WildFly 8。

我無法解釋爲什麼不能。也許一個蜻蜓/ JBoss專家可以提供更多關於這方面的細節。希望它有助於某人。

而你需要,因爲它與WildFly 8.此行刪除休眠特性:

<property name="jboss.as.jpa.adapterModule" value="org.jboss.as.jpa.hibernate:4" /> 
+0

我收到了同樣的錯誤,但還沒有固定的!您是否刪除了 foo_sb.jar行或編輯其他內容? – likeachamp

+0

這可能幫助別人:所以對我而言;這是一個休眠衝突。 Wildfly已經有了自己的hibernate jar文件,我的應用也有它們。我在META-INF中創建了一個jboss-deployment-structure.xml,並排除了休眠模塊。我不再得到這個錯誤。 – likeachamp

相關問題