java - AbstractCreatorProcessor 类未找到错误
问题描述
在我现有的应用程序中设置采用 openjdk 8 和 Tomcat 9 时,我收到以下错误
Caused by: java.lang.NoClassDefFoundError: com/sun/xml/stream/buffer/AbstractCreatorProcessor
at com.sun.xml.ws.client.WSServiceDelegate.parseWSDL(WSServiceDelegate.java:363)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:321)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:230)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:211)
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:207)
at com.sun.xml.ws.spi.ProviderImpl.createServiceDelegate(ProviderImpl.java:114)
at javax.xml.ws.Service.<init>(Service.java:77)
at javax.xml.ws.Service.create(Service.java:707)
at org.springframework.remoting.jaxws.LocalJaxWsServiceFactory.createJaxWsService(LocalJaxWsServiceFactory.java:162)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.prepare(JaxWsPortClientInterceptor.java:357)
at org.springframework.remoting.jaxws.JaxWsPortClientInterceptor.afterPropertiesSet(JaxWsPortClientInterceptor.java:339)
它在 Oracle JDK 上运行良好,我对 openjdk 有什么遗漏吗?
解决方案
对于 openjdk,您需要 JAX-WS 依赖库streambuffer.jar
。
你可以从这里下载它,或者,如果你使用 Maven:
<!-- https://mvnrepository.com/artifact/com.sun.xml.stream.buffer/streambuffer -->
<dependency>
<groupId>com.sun.xml.stream.buffer</groupId>
<artifactId>streambuffer</artifactId>
<version>1.5.6</version>
</dependency>
推荐阅读
- python - 如何在 Python 3.8+ 中对类文件对象进行类型注释
- javascript - 将原始 SQL 转换为 Bookshelf/Knex
- r - 如何删除R中字符串中各个位置以特定字符(@)开头的任何内容?
- reactjs - ESLint:出乎意料。指定不同的类型。(@typescript-eslint/no-explicit-any)
- android - onActivityResult 数据在 OS 10 上为空,但在 9 上不是
- java - 如何将特定的 java 模块嵌入到 OSGi 包中?甚至可能吗?
- python - 在python上将列表作为列添加到数据框中
- c++ - c++11:为什么静态 constexpr 的类内初始化不是定义?
- python - Spyder变量资源管理器重复
- python - 我可以使用模型的 sklearn predict_proba(例如 LogisticRegression)作为另一个模型的特征(例如 RandomForestClassifier)吗?