Wildfly 20 升级和 OpenJRE 8 - 在模块路径或类路径上未找到 JAXB-API 的实现
Wildfly 20 Upgrade and OpenJRE 8 - Implementation of JAXB-API has not been found on module path or classpath
我们正在使用 openjre-8.0.252.09-hotspot,从 Wildfly 10 升级到 Wildfly 20,并开始面临以下问题,但是:
- jaxb-impl-2.1.13.jar 已经存在于 WEB-INF\lib
- rt.jar(在 openjre 中)有:com.sun.xml.internal.bind.v2.ContextFactory
我试过添加以下内容,但没有用:
- jaxb-api-2.1.jar 到 lib.
- 使用 openjdk 而不是 openjre
为什么应用程序找不到 com.sun.xml.internal.bind.v2.ContextFactory class 已经存在于 rt.jar 中?
还有什么我想念的吗?
我尝试搜索,但所有答案都与 java 9 及更高版本相关,但没有关于 openjre-8 的答案。
错误:
Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "deployment.myproject.war" from Service Module Loader]]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:141)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:314)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:478)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:435)
at org.apache.camel.spring.handler.CamelNamespaceHandler.createJaxbContext(CamelNamespaceHandler.java:187)
根本原因:
应用程序 WebInf/lib 和 jaxb.properties 中的 jar 之一具有以下条目:
javax.xml.bind.context.factory=com.sun.xml.internal.bind.v2.ContextFactory
删除这个问题解决了。
我们正在使用 openjre-8.0.252.09-hotspot,从 Wildfly 10 升级到 Wildfly 20,并开始面临以下问题,但是:
- jaxb-impl-2.1.13.jar 已经存在于 WEB-INF\lib
- rt.jar(在 openjre 中)有:com.sun.xml.internal.bind.v2.ContextFactory
我试过添加以下内容,但没有用:
- jaxb-api-2.1.jar 到 lib.
- 使用 openjdk 而不是 openjre
为什么应用程序找不到 com.sun.xml.internal.bind.v2.ContextFactory class 已经存在于 rt.jar 中? 还有什么我想念的吗? 我尝试搜索,但所有答案都与 java 9 及更高版本相关,但没有关于 openjre-8 的答案。
错误:
Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
- with linked exception:
[java.lang.ClassNotFoundException: com.sun.xml.internal.bind.v2.ContextFactory from [Module "deployment.myproject.war" from Service Module Loader]]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:141)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:314)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:478)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:435)
at org.apache.camel.spring.handler.CamelNamespaceHandler.createJaxbContext(CamelNamespaceHandler.java:187)
根本原因:
应用程序 WebInf/lib 和 jaxb.properties 中的 jar 之一具有以下条目:
javax.xml.bind.context.factory=com.sun.xml.internal.bind.v2.ContextFactory
删除这个问题解决了。