![](/img/trans.png)
[英]Tomcat 9 JDK 14 “java.lang.NoClassDefFoundError: javax/xml/ws/WebServiceRef”
[英]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.