项目中需要用到webservice,自己搭建了一个例子老是报这个错误
根据查找资料和异常信息来看,可以做出如下处理:
1. 不是下载jaxb-api.jar 而是下载jaxb-api-2.1.jar文件
2.不是把下载的这个jar文件放在sun网站给出的<java-home>\lib\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"));即可,我的是java web项目,打出的是E:\tomcat6\common\endorsed
我把jaxb-api-2.1.jar放到E:\tomcat6\common\endorsed下后问题解决。
注:没有common\endorsed目录的,自己创建。
java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI(xxx) needs 2.1 API
根据查找资料和异常信息来看,可以做出如下处理:
1. 不是下载jaxb-api.jar 而是下载jaxb-api-2.1.jar文件
2.不是把下载的这个jar文件放在sun网站给出的<java-home>\lib\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"));即可,我的是java web项目,打出的是E:\tomcat6\common\endorsed
我把jaxb-api-2.1.jar放到E:\tomcat6\common\endorsed下后问题解决。
注:没有common\endorsed目录的,自己创建。