jakarta.xml.bind
jakarta.xml.bind-api
2.3.3
org.glassfish.jaxb
jaxb-runtime
2.3.2
当我们使用运行API项目时,一切都正常
mvn弹簧-启动:运行
但是,当API部署在QA服务器中并使用带有-
java-jar示例-api-3.0.0-快照.jar
Caused by: javax.xml.bind.JAXBException: Implementation of JAXB-API has not been found on module path or classpath.
有链接的例外:
[java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory]
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:269)
at javax.xml.bind.ContextFinder.find(ContextFinder.java:412)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:721)
at javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:662)
at com.eoriginal.ecore.client.documents.SearchDocumentHistoryAPI$RequestParameters.toMap(SearchDocumentHistoryAPI.java:344)
... 14 more
Caused by: java.lang.ClassNotFoundException: com.sun.xml.bind.v2.ContextFactory
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:522)
at javax.xml.bind.ServiceLoaderUtil.nullSafeLoadClass(ServiceLoaderUtil.java:122)
at javax.xml.bind.ServiceLoaderUtil.safeLoadClass(ServiceLoaderUtil.java:155)
at javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:267)
更新:
我添加了Maven Shade插件来生成包含所有依赖项的JAR,但是当执行代码行来创建JAXBContext时,错误仍然存在-
JAXBContext jaxbc=JAXBContext.newInstance(新类[]{Abc类});