JBoss8:错误UT005023 - 对URL的异常处理请求

时间:2016-06-29 03:22:25

标签: wildfly wildfly-8

我在JBoss 8服务器上遇到以下错误。

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

我的pom中有以下依赖项:

    <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>

1 个答案:

答案 0 :(得分:4)

您在申请时遇到麻烦,包括任何一个罐子。

这些jar提供的API和实现存在于JDK中(早在Java 5中),如果你使用它们而不是在你的应用程序中添加额外的(可能是过时的)版本,你会发现生活更简单。

此外,Java EE可以指定对标准(JDK提供的)XML API(例如JAXB 2.2)的进一步扩展,因此可以透明地为您的应用程序提供此扩展实现。

因此,如果您添加以下内容,而不是上面的依赖关系集:

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

<scope>provided</scope>元素很重要,因为不需要在应用程序中部署此jar。它包含的类由Java EE 7服务器实现提供。

如果添加此依赖项,则还可以丢弃其他依赖项,例如servlet-api,jsp-api,ejb-api等,因为这些依赖项都包含在javaee-api依赖项中。