java - 错误 java.lang.NoClassDefFoundError:Java 11 中的 javax/jws/WebService
问题描述
在我设置 JaxWsProxyFactoryBean 服务类的 cxf webservice 调用中,我收到了一个致命错误,我在下面给出了它的跟踪。我正在将我的代码从 java 8 迁移到 java 11。
我已经在我的构建路径中设置了所有必需的库 jar、cxf 包和 jax-ws jar,但我仍然无法解决错误。这是我的代码:
APIWS _stub = null;
JaxWsProxyFactoryBean fac = new JaxWsProxyFactoryBean();
fac.setAddress(API_WS_URL);
fac.setServiceClass(APIWS.class);
_stub = (APIWS) fac.create();
Client c = ClientProxy.getClient(_stub);
HTTPConduit http = (HTTPConduit)c.getConduit();
HTTPClientPolicy policy = new HTTPClientPolicy();
policy.setConnectionTimeout(0);
policy.setReceiveTimeout(0);
http.setClient(policy);
c.getInInterceptors().add(new LoggingInInterceptor());
c.getInInterceptors().add(new LoggingOutInterceptor());
ApiWS.aboutCall(_stub);
List<String> output = ApiWS.invokeLiqApiWebService(_stub, transformedQueue);
outputFileList.addAll(output);
错误:
java.lang.NoClassDefFoundError: javax/jws/WebService
at org.apache.cxf.jaxws.support.JaxWsImplementorInfo.initialize(JaxWsImplementorInfo.java:273)
at org.apache.cxf.jaxws.support.JaxWsImplementorInfo.<init>(JaxWsImplementorInfo.java:60)
at org.apache.cxf.jaxws.JaxWsClientFactoryBean.setServiceClass(JaxWsClientFactoryBean.java:43)
at org.apache.cxf.frontend.ClientProxyFactoryBean.setServiceClass(ClientProxyFactoryBean.java:224)
at com.qnb.ib.loaniq.inbound.interfaces.process.LIQProcess.callLiqAPI(LIQProcess.java:331)
at com.qnb.ib.loaniq.inbound.interfaces.process.LIQProcess.process(LIQProcess.java:154)
at com.qnb.ib.loaniq.inbound.interfaces.process.LIQJobManager.processJob(LIQJobManager.java:106)
at com.qnb.ib.loaniq.inbound.interfaces.process.LIQJobManager.main(LIQJobManager.java:132)
Caused by: java.lang.ClassNotFoundException: javax.jws.WebService
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
... 8 more
需要帮助解决此问题。
谢谢
解决方案
这些是我在构建路径中添加的 jar,用于解决调用 Web 服务的问题。
- FastInfoset-1.2.15.jar
- gmbal-api-only-3.1.0-b001.jar -ha-api-3.1.9.jar
- istack-commons-runtime-3.0.7.jar
- javax.activation-1.2.0.jar
- javax.activation-api-1.2.0.jar
- javax.annotation-api-1.3.2.jar
- javax.jws-api-1.1.jar
- javax.xml.soap-api-1.4.0.jar
- jaxb-api-2.3.1.jar
- jaxb-runtime-2.3.1.jar
- jaxws-api-2.3.1.jar
- jaxws-ri-2.3.1.pom
- jaxws-rt-2.3.1.jar
- 管理-api-3.0.0-b012.jar
- mimepull-1.9.10.jar
- 政策-2.7.5.jar
- saaj-impl-1.5.0.jar stax2-api-4.1.jar
- stax-ex-1.8.jar
- streambuffer-1.5.6.jar -txw2-2.3.1.jar
- woodstox-core-5.1.0.jar
希望这可以帮助那些在 java 11 中面临类似问题的人
推荐阅读
- r - 有没有办法在 R 脚本中使用正则表达式从两个字符之间提取数据,并考虑不一致的间距?
- javascript - editMessageText 一个简单的例子 js
- excel - 如何在不删除其他工作表的情况下将数据框保存到 Excel 工作表中?
- java - 无法在链表前面插入节点
- java - 在 Java 中确定 Scala 对象的类
- javascript - 将`Map`中的[键,值]显示到html表上
- python - 尝试插入字典列表时主键的空值
- java - Spring data JPA 本机查询返回 1 个实体,而不是列表
- matlab - 计算欧几里得距离
- javascript - 为什么在 TypeScript 中使用三等号 (===)?