现在的位置: 首页 > 综合 > 正文

Exception in thread “main” java.lang.LinkageError错误的解决

2013年10月06日 ⁄ 综合 ⁄ 共 787字 ⁄ 字号 评论关闭

 在用myeclipse进行调试代码的时候,我们经常在java文件中加入main方法来进行调试。那么有时候会因为包兼容的问题引发以下错误,导致调试失败: 
**************************************************************
Exception in thread "main" java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader, but this RI (from jar:file:/D:/workspace/A8_Common/webapp/WEB-INF/lib/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/) 

**************************************************************
解决办法如下:首先在main函数中输出兼容包的目录所在: 
System.out.println(System.getProperty("java.endorsed.dirs")); 
我的路径为:C:\Program Files\Java\jdk1.6.0\jre\lib\endorsed 
然后到这个目录的上层(这里为lib目录)建立endorsed文件夹,拷贝文件jaxb-api.jar到endorsed文件夹,OK搞定

抱歉!评论已关闭.