论坛首页 Java企业应用论坛

java.lang.LinkageError: JAXB 2.0 API is being loaded

浏览 2939 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (16)
作者 正文
   发表时间:2011-03-27  
使用JAX-WS在MyEclipse8.5的tomcat6上跑代码时出现如下异常:

严重: WSSERVLET11: failed to parse runtime descriptor: java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/apache-tomcat-6.0.18/webapps/servie_dome/WEB-INF/lib/webservices-rt.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/)

意思是JAXB 2.0已经被加载,但ModelBuilder这个类依赖JAXB 2.1的jar包,而不是2.0的,2.0的从哪里被加载?我在tomcat中设置是的jdk1.6,它自带JAXB 2.0并将其加载。
网上有人说把JDK 更新到jdk1.6u11 ,我试了,没有作用。或者在 JDK 下 的lib 下新建 endorsed 然后把 jaxb-api 和jaxws-api 这个两个jar 放入,  重起eclipse 然后在启动tomcat。也没效果。

后来将项目的运行时环境(即JRE System Library)改为myeclipse自带的jdk6的jar包,再把tomcat中的jdk也设为myeclipse自带的jdk6的jar包,运行时就正常了。
不过这也是权益之计,因为部署环境不是myeclipse自带的jar。
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics