WSSERVLET11:failed to parse runtime descriptor: java.lang.LinkageError
来源:互联网 发布:万信达软件下载 编辑:程序博客网 时间:2024/05/29 04:46
MyEclipse 建立的JAX-WS webservice工程,到其他机器tomcat中无法启动--LinkageError
错误内容:
严重: 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:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/FreeRoomWS/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.(Seehttp://java.sun.com/j2se/1.5.0/docs/guide/standards/)
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/webapps/FreeRoomWS/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. (Seehttp://java.sun.com/j2se/1.5.0/docs/guide/standards/)
…………………………………………………………
错误产生原因:
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx) needs 2.1 API
很明显是由于tomcat加载了低版本的jaxb包,而实际上需要更高版本的jaxb包。
网上有很多人提出了不少解决方案,差不多利用的都是tomcat的endorsed特性。
但介绍往往不全面,只是针对自己的错误,进行了解决,照着去做有可能解决不了自己的错误,需要对症下药。
要解决此问题,需要注意以下两点:
1. 不是下载jaxb-api.jar 而是下载jaxb-api-2.1.jar文件,或者按照提示,下载需要的更高版本的Jaxb 包。
2.不是把下载的这个jar文件放在sun网站给出的<java-home>/lib/endorsed 下,也不一定是放在Tomcat6.0的根目录下,自己建立的endorsed文件夹内。而是要自己试验确定应该放在哪个目录下:
确定放在哪个目录下的方法如下:
首先要看你的项目是java项目还是java web项目:
A, java项目直接打印System.out.println(System.getProperty("java.endorsed.dirs"));即是jaxb-api-2.1.jar应该放的目录。
B, java web 项目要用一个可以正常启动的web项目(当然没用到jaxb的web项目),打印System.out.println(System.getProperty("java.endorsed.dirs"));即可。
友情小提示:
如果你不想这么麻烦,可以选几个路径放一下试试,如果实在不行再打印。
可以尝试的两个路径:<%Tomcat%>/endorsed/jaxb-api-2.x.jar;
<%Tomcat%>/common/endorsed/jaxb-api-2.x.jar;需要注意的是,在Tomcat6.0下,是没有common和endorsed目录的,需要自己手动建立。
小结:
为了解决此错误,我花费了近三个小时,在此贡献出来帮助需要的人,以防再走弯路。
本文转自http://hi.baidu.com/moreeffort/item/6a6bdf87c8b24b14c31627b6
- WSSERVLET11:failed to parse runtime descriptor: java.lang.LinkageError
- WSSERVLET11:failed to parse runtime descriptor: java.lang.LinkageError
- 严重: WSSERVLET11: failed to parse runtime descriptor: The serviceName cannot be retrieved from an int
- java.lang.RuntimeException: Failed to parse data binding compiler options.
- java.lang.LinkageError翻译
- java.lang.LinkageError解决办法
- Java.lang.LinkageError
- Failed to parse plugin descriptor for org.apache.hadoop:hadoop-maven-plugins
- java.lang.LinkageError异常处理
- Failed to read artifact descriptor
- java.lang.LinkageError: loader constraint violation
- java.lang.LinkageError: loader constraint violation
- javax.faces.FacesException: java.lang.LinkageError解决办法
- java.lang.LinkageError: loader constraint violation解决
- tomcat启动报错java.lang.LinkageError
- android java.lang.LinkageError解决,版本兼容
- java.lang.LinkageError: loader constraint violation
- 访问项目时报java.lang.LinkageError错误
- 关于开发开源软件的授权 及获取数据的分析
- SQLite3第三方库之FMDB
- 在Linux上安装icescrum
- hdu(4707) Pet
- Java String.format 方法使用介绍
- WSSERVLET11:failed to parse runtime descriptor: java.lang.LinkageError
- Application.SetCompatibleTextRenderingDefault的作用及使用方法
- 云计算倾力智能家居 将"家"携带在身边
- c#明年学习计划书
- java JDBC 连接数据库
- Linux top 命令详解
- Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
- JavaMail邮件发送-能发送附件和带背景音乐的邮件的小系统
- 金融大数据革命-eXtremeDB金融数据库-列数据库