Exception in thread "main" java.lang.LinkageError: 正在从引导类加载器加载 JAXB 2.1 API, 但此 RI (来自jar:file:/D:/dev/maven-1.0.2/repository/cxf/jars/jaxb-impl-2.2.5.jar!/com/sun/xml/bind/v2/model/impl/ModelBuilder.class) 需要 2.2 API。请使用授权目录机制将 jaxb-api.jar 放在引导类加载器中。
原因:java虚拟机的jre中没有geronimo-jaxws_2.2_spec-1.1.jar和jaxb-api-2.2.6.jar两个jar包
解决方法:将apache-cxf-2.6.1资源包中lib文件夹下的endorsed文件夹,拷贝到jdk的jre中lib下
处理步骤:1,在自己的jdk路径:C:\Program Files\Java\jdk1.6.0_03\jre\lib下新建endorsed文件夹
2,拷贝geronimo-jaxws_2.2_spec-1.1.jar和jaxb-api-2.2.6.jar复制到上面路径下即可。(两个jar我是从D:\dev\maven-1.0.2\repository\cxf\jars中复制)
(D:\Workspaces\binary\com.sun.java.jdk.win32.x86_1.6.0.013\jre\lib该路径下我也新建了,供参考)
参考文章:http://wenku.baidu.com/view/c857ff88b9d528ea81c7792d.html
本文介绍了解决JAXB2.1 API与JAXB2.2 RI不兼容的问题,提供了具体的步骤来确保正确的JAXB版本被加载。通过在JDK的lib/endorsed目录下放置正确的JAXB相关jar包,可以避免类加载器引发的LinkageError错误。
318

被折叠的 条评论
为什么被折叠?



