java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloa

xjg396發表於2013-03-12
在使用webservice,mule esb等需要jaxb的專案裡經常會出現 JAXB 2.0 API is being loaded from the bootstrap classloader這個錯誤,按照打出的資訊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/)去做,通常是解決不了問題的,該建議資訊有兩個問題導致不可行:

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目錄的,自己建立。


轉自: http://blog.csdn.net/wangts/article/details/6116371

相關文章