2013-08-06 144 views
6

我嘗試通過tomcat7運行我的項目。通過jax ws maven插件生成我的web服務的wsdl文件(以及它通過成功生成),但試圖在瀏覽器中查看wsdl文件,但無法生成結果。java.lang.NoClassDefFoundError:com/sun/istack/localization/Localizable?

我試圖tomcat7服務器來運行我的項目,但出現這個錯誤,我還沒有任何解決這個問題 thsi我的錯誤:

août 06, 2013 12:08:09 PM org.apache.catalina.core.AprLifecycleListener init 
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.7.0_21\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386;C:\Program Files\MiKTeX 2.9\miktex\bin;%CommonProgramFiles%\Microsoft Shared\Windows Live;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\MATLAB\R2010a\runtime\win32;C:\Program Files\MATLAB\R2010a\bin;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Orant\bin;C:\Centrun;C:\LHS\BSCS_iX_R2_Demo;C:\LHS\BSCS_iX_R2_Demo\bin\win32;C:\LHS\BSCS_iX_R2_Demo\3pp\win32;C:\LHS\BSCS_iX_R2_Demo\TAO1.3aP12_WinXP\ACE_wrappers\bin;C:\LHS\BSCS_iX_R2_Demo\TAO1.3aP12_WinXP\ACE_wrappers\lib;C:\LHS\BSCS_iX_R2_Demo\jdk1.5.0_06\bin;C:\Program Files\apache-maven-3.1.0\bin;C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Users\sayed\Desktop\eclipse\eclipse;;. 
août 06, 2013 12:08:09 PM org.apache.tomcat.util.digester.SetPropertiesRule begin 
WARNING: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.j2ee.server:BSCSwebservices' did not find a matching property. 
août 06, 2013 12:08:09 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["http-bio-8080"] 
août 06, 2013 12:08:09 PM org.apache.coyote.AbstractProtocol init 
INFO: Initializing ProtocolHandler ["ajp-bio-8009"] 
août 06, 2013 12:08:09 PM org.apache.catalina.startup.Catalina load 
INFO: Initialization processed in 1005 ms 
août 06, 2013 12:08:09 PM org.apache.catalina.core.StandardService startInternal 
INFO: Démarrage du service Catalina 
août 06, 2013 12:08:09 PM org.apache.catalina.core.StandardEngine startInternal 
INFO: Starting Servlet Engine: Apache Tomcat/7.0.42 
août 06, 2013 12:08:10 PM org.apache.catalina.loader.WebappClassLoader validateJarFile 
INFO:  validateJarFile(C:\Users\sayed\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps\BSCSwebservices\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class 
log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
août 06, 2013 12:08:13 PM org.apache.catalina.core.ApplicationContext log 
INFO: Loading Spring root WebApplicationContext 
août 06, 2013 12:08:14 PM org.apache.catalina.core.ApplicationContext log 
SEVERE: StandardWrapper.Throwable 
java.lang.NoClassDefFoundError: com/sun/istack/localization/Localizable 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
at com.sun.xml.ws.transport.http.servlet.WSSpringServlet.init(WSSpringServlet.java:48) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:722) 
    Caused by: java.lang.ClassNotFoundException: com.sun.istack.localization.Localizable 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
... 21 more 

août 06, 2013 12:08:14 PM org.apache.catalina.core.StandardContext loadOnStartup 
SEVERE: La servlet /BSCSwebservices a généré une exception "load()" 
java.lang.ClassNotFoundException: com.sun.istack.localization.Localizable 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:791) 
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) 
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2895) 
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1173) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1681) 
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) 
at com.sun.xml.ws.transport.http.servlet.WSSpringServlet.init(WSSpringServlet.java:48) 
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1280) 
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1193) 
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1088) 
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5176) 
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5460) 
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559) 
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549) 
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 
at java.util.concurrent.FutureTask.run(FutureTask.java:166) 
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 
at java.lang.Thread.run(Thread.java:722) 

任何建議,解決方案...... 感謝

回答

13

添加罐子從那裏該類com.sun.istack.localization.Localizable共同明。

由於同樣存在於jaxb-core-2.2.X and jaxb-impl-2.2.X.

嘗試增加在服務器/罐那些lib或與WAR文件捆綁他們。

感謝

+0

我現在又增加了,但是當我寫我的WSDL文件由WSGEN同樣的錯誤出現 –

+0

生成的URL,這你試過的選項? – saurav

+0

我在server/lib –

4

我解決了前一次改變行家DEPS有:

<dependency> 
    <groupId>com.sun.xml.ws</groupId> 
    <artifactId>jaxws-rt</artifactId> 
    <version>version</version> 
    <exclusions> 
     <exclusion> 
      <groupId>com.sun.istack</groupId> 
      <artifactId>istack-commons-runtime</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
+0

感謝,但沒有結果,我嘗試,但同樣的錯誤 –

0

com.sun.istack.localization.Localizable.class是definitly在jaxb-core-2.2.11.jar

對於乳寧正確的網絡apllication,您需要在您的pom.xml補充:
<dependency> <groupId>com.sun.xml.ws</groupId> <artifactId>jaxws-rt</artifactId> <version>2.2.8</version> </dependency>
這是爲您的清單在您的web.xml宣佈:
<listener> <listener-class> com.sun.xml.ws.transport.http.servlet.WSServletContextListener </listener-class> </listener>

然後,在<%TOMCAT_HOME%>/endorsed(創建它,如果你沒有的話) 的librairies:

  1. JAXB-IMPL-2.2.11.jar
  2. JAXB的核心2.2.11.jar
  3. JAXB-API-2.2.3.jar
  4. STAX-API-1.0-2.jar
  5. 活化-1.1.jar
  6. JAXWS-API-2.2.3.jar
  7. SAAJ-API-1.3.2.jar
  8. javax.annotation中-3.1-b35.jar
  9. JSR181的API-1.0-MR1.jar
0

我臉上有很多問題試圖建立時一個在Tomcat上運行的Soap Web服務,爲此我需要很多Maven依賴。已爲我工作的配置如下:

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

用這些替換你的maven依賴關係,然後進行一次新的嘗試。我希望這個作品對你來說太

問候