最近同事本机发布项目会出现
Tomcat 6 使用 JDK 1.6 和 jaxb2.17 问题
CXF 新版会用到jaxb2.17 但 Tomcat 6 JDK 会load jaxb2.0
解决办法:
找到tomcat 的默认 endorsed 目录
the default endorsed directory is: $CATALINA_HOME/endorsed.
如果没有这个目录 建这个目录讲jaxb的3个Jar包Copy来 OK
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI
(from jar:file:/somedirectory/jaxb-impl.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) needs 2.1 API. Use the endorsed directory mechanism to place jaxb-api.jar in the bootstrap classloader. (See http://java.sun.com/j2se/1.5.0/docs/guide/standards/)
It's actually a very simple fix, but painful enough to warrant a post. Put the jaxb-api.jar that you're trying to use into JDK_HOME/jre/lib/endorsed. If the endorsed directory doesn't exist, make it. This is apparently only a problem with JDK 1.6, not with JDK 1.5.
------------------------------------------
如Myeclipse Tomcat
将jaxb-api-2.1.jar jaxb-impl-2.1.7.jar jaxb-xjc-2.1.7.jar
拷贝到E:\Genuitec\Common\plugins\com.genuitec.eclipse.easie.tomcat.myeclipse_7.9.100.zmyeclipse80020090924a\tomcat
新建的common\endorsed 目录里 便可。