最近同事本機(jī)發(fā)布項(xiàng)目會(huì)出現(xiàn)
Tomcat 6 使用 JDK 1.6 和 jaxb2.17 問(wèn)題
CXF 新版會(huì)用到j(luò)axb2.17 但 Tomcat 6 JDK 會(huì)load jaxb2.0
解決辦法:
找到tomcat 的默認(rèn) endorsed 目錄
the default endorsed directory is: $CATALINA_HOME/endorsed.
如果沒有這個(gè)目錄 建這個(gè)目錄講jaxb的3個(gè)Jar包Copy來(lái) 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 目錄里 便可。