ClassNotFoundException com.sun.xml.bind.ContextFactory Jaxb-Impl

时间:2019-01-29 20:21:37

标签: java jaxb

由于以下消息,我试图将jax-impl类从版本1.0.6更新到最新版本,以便与jaxb-runtime:2.3.1兼容:

  

java.lang.LinkageError:您正在尝试运行JAXB 2.0运行时(从jar:file:/opt/tomcat/appName/WEB-INF/lib/jaxb-runtime-2.3.1.jar!/ com / sun /xml/bind/v2/model/impl/ModelBuilder.class),但是类路径中的JAXB 1.0运行时较早(在jar:file:/opt/tomcat/appName/WEB-INF/lib/jaxb-impl-1.0中) .6.jar!/com/sun/xml/bind/WhiteSpaceProcessor.class),请删除JAXB 1.0运行时,以使2.0运行时正常工作。

jaxb-impl的版本增加到任何较新的版本后,我收到以下投诉:

  

java.lang.ClassNotFoundException:com.sun.xml.bind.ContextFactory_1_0_1

之所以发生这种情况,是因为使用上下文路径作为参数调用了JAXBContext.newInstance方法:

JAXBContext.newInstance('package.name')

newInstance使用类作为参数的调用仍然可以正常工作。

在升级Jaxb-Impl时,是否存在ClassNotFoundException的解决方案:com.sun.xml.bind.ContextFactory_1_0_1异常?

1 个答案:

答案 0 :(得分:0)

我在jaxb-impl v2.3.1 jar中看不到com.sun.xml.bind.ContextFactory类。您是否缺少依赖项?

听起来您应该打电话:com.sun.xml.bind。 v2 .ContextFactory

也许您仍然有一个过时的依赖项并正在调用旧类。