簡體   English   中英

JDK8:“java.lang.NoClassDefFoundError:javax/xml/ws/Service”

[英]JDK8: "java.lang.NoClassDefFoundError: javax/xml/ws/Service"

Webservices 相當新,已經做了一些研究並使用 JAX-WS RI(wsimport 工具)為第三方 WSDL 生成了客戶端存根。 正在使用 JDK 8。 使用生成的存根,編寫 web 服務客戶端以調用 WSDL 操作。 Maven 構建成功但在測試時出現“java.lang.NoClassDefFoundError: javax/xml/ws/Service”。

這里是Web服務客戶端。 也嘗試為 NoClassDefFoundError 引用許多資源,但實際上沒有任何效果。 調試時了解它在下面第 11 行中的失敗。 如何修復此 NoClassDefFoundError,請幫助?

line-11:  ServiceWS service = new ServiceWS(); //@WebServiceClient
line-12:  ServiceWSSoap stubWS = service.getServiceWSSoap(); //where ServiceWSSoap is @WebService and getServiceWSSoap() is @WebEndpoint 

這是堆棧跟蹤

java.lang.NoClassDefFoundError: javax/xml/ws/Service
    at package1.ProjectClient.getStub(ProjectClient.java:11)
    at package.Project.<init>(Project.java:55)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
    at java.base/java.lang.Class.newInstance(Unknown Source)
    at package.SubClass.getInstance(SubClass.java:1284)
    at package.SubClass.getCall(SubClass.java:635)
    at package.SubClass.execute(SubClass.java:317)
    at package.MainClass.run(MainClass.java:1216)
    at package.MainClass.execute(MainClass.java:759)
    at package.ServerClass.b(ServerClass.java)
    at package.ServerClass.run(ServerClass.java)
    at java.base/java.lang.Thread.run(Unknown Source)

我在我的 pom.xml 中包含了 jaxws-api 依賴項,但仍然沒有成功

 <dependency>
        <groupId>javax.xml.ws</groupId>
        <artifactId>jaxws-api</artifactId>
        <version>2.3.1</version>
    </dependency>

研究鏈接:1) Java Webservice Client (Best way)
2) https://mkyong.com/webservices/jax-ws/jax-ws-wsimport-tool-example/
3) https://mkyong.com/webservices/jax-ws/jax-ws-hello-world-example/

您只包含了 API 個類。 您的項目還需要一些實現類(工件)。 一種可能的實現是 jaxws-ri:

<dependency>
  <groupId>com.sun.xml.ws</groupId>
  <artifactId>jaxws-ri</artifactId>
  <version>2.3.1</version>
</dependency>

感謝您的回復 Volo Myhal。 我也已經包含了 jaxws-rt 依賴項。 但我仍然不斷收到 NoClassDefFoundError。

將所需的 jars 從 .m2 文件夾手動添加到我們的本地服務器路徑后,此問題得到解決

暫無
暫無

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

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