2016-06-29 32 views
0

Ich erhalte den folgenden Fehler auf JBoss 8 Server.JBoss8: Fehler UT005023 - Ausnahmebehandlungsanforderung an URL

17:36:07,482 ERROR [io.undertow.request] (default task-22) UT005023: Exception handling request to /user/XMLPreviewer: org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: com/sun/org/apache/xml/internal/serialize/XMLSerializer 

Ich habe die folgenden Abhängigkeiten in meinem pom bekam:

<dependency> 
     <groupId>javax.xml</groupId> 
     <artifactId>jaxp-api</artifactId> 
     <version>1.4.2</version> 
    </dependency> 
    <dependency> 
     <groupId>xerces</groupId> 
     <artifactId>xercesImpl</artifactId> 
     <version>2.11.0</version> 
     <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>xml-apis</groupId> 
      <artifactId>xml-apis</artifactId> 
      <version>1.4.01</version> 
      <scope>runtime</scope> 
    </dependency> 
    <dependency> 
     <groupId>xml-apis</groupId> 
     <artifactId>xml-apis</artifactId> 
     <version>1.4.01</version> 
    </dependency> 
    <dependency> 
     <groupId>javax.xml.parsers</groupId> 
     <artifactId>jaxp-api</artifactId> 
     <version>1.4.5</version> 
    </dependency> 
+0

fügen Sie eine Abhängigkeit zu sun.jdk in Ihrer module.xml oder jboss-deployment-structure.xml – Sampada

+0

funktioniert nicht :( – fiddle

Antwort

3

Sie sind für Probleme mit einem dieser Gläser in Ihrer Anwendung zu fragen.

Die APIs und die Implementierung, die von diesen jars zur Verfügung gestellt werden, existieren im JDK (so weit zurück wie Java 5) und Sie werden das Leben viel einfacher finden, wenn Sie diese verwenden, anstatt zusätzliche (möglicherweise veraltete) Versionen zu Ihrer Anwendung hinzuzufügen.

Außerdem kann Java EE weitere Erweiterungen zu den Standard-XML-APIs (JDK vorausgesetzt) ​​(zB JAXB 2.2) angeben und diese Anwendung somit transparent für Ihre Anwendung bereitstellen.

daher eher als die Menge der Abhängigkeiten Sie oben haben, wenn Sie die folgenden stattdessen hinzufügen:

<dependency> 
    <groupId>javax</groupId> 
    <artifactId>javaee-api</artifactId> 
    <version>7.0</version> 
    <scope>provided</scope> 
</dependency> 

Das <scope>provided</scope> Element ist wichtig, weil dieses Glas nicht mit Ihrer Anwendung bereitgestellt werden muss. Die darin enthaltenen Klassen werden von Ihrer Java EE 7-Serverimplementierung bereitgestellt.

Wenn Sie diese Abhängigkeit hinzufügen, können Sie auch andere Abhängigkeiten wie servlet-api, jsp-api, ejb-api usw. verwerfen, da diese alle in der javaee-api-Abhängigkeit enthalten sind.