在使用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目錄的,自己創建。
小白