2016-03-30 9 views
-2

Bereitstellung Ich versuche, von wildfly9 zu bewegen 10. Mein Code Wildfly funktioniert auf wildfly9 Aber wenn ich versuche, auf Wildfly 10 mein ejb-Modul bereitstellen ich die folgende Fehlermeldung erhalten:Wildfly10 Server geben Classcast auf EJB-Modul

java.lang.ClassCastException: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory 

Ich versuchte alle verfügbaren Optionen da draußen, um diesen Fehler zu korrigieren, aber nichts half mir.

Hier sind die Abhängigkeiten, die ich in meinem pom

<dependencies> 
     <dependency> 

      <groupId>za.co.ecommunicate</groupId> 
      <artifactId>pl4sms-billing</artifactId> 
      <version>1.0-SNAPSHOT</version> 

     </dependency> 


     <!-- ehcache dependency --> 
     <dependency> 
      <groupId>net.sf.ehcache</groupId> 
      <artifactId>ehcache</artifactId> 
      <version>2.9.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-ehcache</artifactId> 
      <version>5.1.0.Final</version> 
     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-c3p0</artifactId> 
      <version>5.1.0.Final</version> 

     </dependency> 

     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>5.1.0.Final</version> 

     </dependency> 
     <!-- ehcache dependency --> 
     <dependency> 
      <groupId>za.co.ecommunicate</groupId> 
      <artifactId>pl4sms-persistence</artifactId> 
      <version>1.0-SNAPSHOT</version> 
     </dependency> 



     <!-- dependencies require for test asserts --> 
     <!-- <dependency> <groupId>za.co.ecommunicate</groupId> <artifactId>pl4sms-web</artifactId> 
      <version>1.0-SNAPSHOT</version> </dependency> --> 
     <dependency> 
      <groupId>org.testng</groupId> 
      <artifactId>testng</artifactId> 
      <version>6.8.13</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.openejb</groupId> 
      <artifactId>tomee-embedded</artifactId> 
      <version>1.0.0</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>javax</groupId> 
      <artifactId>javaee-api</artifactId> 
      <version>6.0</version> 
      <scope>provided</scope> 
     </dependency> 


    </dependencies> 

Nach den verfügbaren Lösungen die ich gefunden habe das das Problem verwandt ist in den Ruhezustand, ich habe aktualisiert Hibernate Abhängigkeiten haben, den Umfang zu ändern und auch dom4j Hinzufügen Abhängigkeit, aber nichts hat funktioniert.

Das gleiche Modul wird ohne Probleme auf Wildfly 9. eingesetzt

Kann mir jemand bei der Lösung dieser Fehler helfen.

+0

hast du [this] versucht (http://stackoverflow.com/questions/35533847/wildfly-10-java-lang-classcastexception-org-dom4j-documentfactory-cannot-be-ca) –

+0

ja schon versucht es aber Es hat nicht geholfen – kirti

Antwort

1

Ich habe die Lösung meiner Frage gefunden kann es anderen helfen. Ich habe die Lösung von this blog.

Ich habe die Zeile in MANIFEST.MF Datei meines Krieg:

  1. Öffnen {Ihr Krieg} /META-INF/MANIFEST.MF
  2. am Ende dieser Zeile hinzufügen - Dependencies: org.dom4j export

und fügten hinzu, die folgende Zeile in persistence.xml:

<property name="hibernate.listeners.envers.autoRegister" value="false"/ > 

und es funktionierte für mich.

0

Sie Problem ist folgendes:

<dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-entitymanager</artifactId> 
     <version>5.1.0.Final</version> 

    </dependency> 

Es bringt in der alten dom4j jar: dieses Ticket Referenz: org.dom4j.DocumentFactory cannot be cast to org.dom4j.DocumentFactory.

Sie müssen es entweder entfernen, als provided im Geltungsbereich deklarieren oder die Anwendung nicht auf dem Wildfly-Server ausführen (was wahrscheinlich nicht Ihre bevorzugte Option ist).