簡體   English   中英

部署 Web 應用程序時,出現異常 NoClassDefFoundError:LocalizableImpl

[英]When deploying a web application I get the exception NoClassDefFoundError:LocalizableImpl

我有一個包含 Web 服務的標准 J2EE Web 應用程序。 我正在使用webservices-rt庫來托管服務。 [請參閱下面的 maven 依賴項]。 但是,我在運行時收到以下異常:

SEVERE: Exception sending context initialized event to listener instance of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.NoClassDefFoundError: com/sun/xml/ws/util/localization/LocalizableImpl
    at com.sun.xml.ws.util.exception.JAXWSExceptionBase.<init>(JAXWSExceptionBase.java:63)
    at com.sun.xml.ws.transport.http.servlet.WSServletException.<init>(WSServletException.java:47)
    at com.sun.xml.ws.transport.http.servlet.WSServletContextListener.contextInitialized(WSServletContextListener.java:118)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4791)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5285)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) [...]
    at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException: com.sun.xml.ws.util.localization.LocalizableImpl
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
    ... 33 more

Maven WS 依賴

    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>webservices-rt</artifactId>
        <version>1.4</version>
        <scope>compile</scope>
    </dependency>

我錯過了圖書館嗎? 我試過添加jaxws-rt 但是,這需要額外的 repo [ jboss ]。 我對此有點懷疑,因為它在項目中引入了許多新庫。

如果您使用的是 Maven,請將以下添加到您的項目中應該可以解決您的問題:

<dependency>
    <groupId>com.sun.xml.ws</groupId>
    <artifactId>jaxws-rt</artifactId>
    <version>2.3.2</version>
</dependency>

您不必添加其他 jar,因為它會自動拉取其余的依賴項。 我更喜歡將 jar 添加到我的戰爭中,而不是 Tomcat lib。 我認為它更便攜。

試試

缺少 JAX-WS 依賴庫“jaxws-rt.jar”。

去這里http://jax-ws.java.net/

下載 JAX-WS RI 發行版。

解壓並將“jaxws-rt.jar”復制到Tomcat庫文件夾“{$TOMCAT}/lib”。

重啟Tomcat。

對於 maven,tomcat 應用程序在 pom.xml 中嘗試這些依賴項

<dependencies>
    <!-- jax-ws maven dependency -->
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>jaxws-rt</artifactId>
        <version>2.2.8</version>
    </dependency>
    <!-- servlet provided by tomcat -->
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        <scope>provided</scope>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-core -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-core</artifactId>
        <version>2.2.7</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.xml.stream.buffer/streambuffer -->
    <dependency>
        <groupId>com.sun.xml.stream.buffer</groupId>
        <artifactId>streambuffer</artifactId>
        <version>1.5.3</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.xml.bind/jaxb-impl -->
    <dependency>
        <groupId>com.sun.xml.bind</groupId>
        <artifactId>jaxb-impl</artifactId>
        <version>2.2.7</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/com.sun.xml.ws/policy -->
    <dependency>
        <groupId>com.sun.xml.ws</groupId>
        <artifactId>policy</artifactId>
        <version>2.3.1</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.glassfish.gmbal/gmbal-api-only -->
    <dependency>
        <groupId>org.glassfish.gmbal</groupId>
        <artifactId>gmbal-api-only</artifactId>
        <version>3.2.0-b003</version>
    </dependency>
    <!-- https://mvnrepository.com/artifact/org.glassfish.ha/ha-api -->
    <dependency>
        <groupId>org.glassfish.ha</groupId>
        <artifactId>ha-api</artifactId>
        <version>3.1.9</version>
    </dependency>
</dependencies>

我希望這適用於將面臨此問題的新人

問候

聲明 JBoss 存儲庫不會自動導入存儲庫庫。 它只是使庫可用於導入。

底線是,如果您想使用庫中的類,那么您必須將該庫拉入您的項目中。 如果庫在 JBoss 存儲庫中,那么您必須聲明 JBoss 存儲庫。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM