在使用webservice,mule esb等需要jaxb的項(xiàng)目里經(jīng)常會(huì)出現(xiàn) JAXB 2.0 API is being loaded from the bootstrap classloader這個(gè)錯(cuò)誤,按照打出的信息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/)去做,通常是解決不了問(wèn)題的,該建議信息有兩個(gè)問(wèn)題導(dǎo)致不可行:
1. 不是下載jaxb-api.jar 而是下載jaxb-api-2.1.jar文件
2.不是把下載的這個(gè)jar文件放在sun網(wǎng)站給出的<java-home>/lib/endorsed 下,而是要自己試驗(yàn)確定應(yīng)該放在哪個(gè)目錄下:
確定放在哪個(gè)目錄下的方法如下:
首先要看你的項(xiàng)目是java項(xiàng)目還是java web項(xiàng)目:
A, java項(xiàng)目直接打印System.out.println(System.getProperty("java.endorsed.dirs"));即是jaxb-api-2.1.jar應(yīng)該放的目錄。
B, java web 項(xiàng)目要用一個(gè)可以正常啟動(dòng)的web項(xiàng)目(當(dāng)然沒(méi)用到j(luò)axb的web項(xiàng)目),打印System.out.println(System.getProperty("java.endorsed.dirs"));即可,我的是java web項(xiàng)目,打出的是E:/tomcat6/common/endorsed
我把jaxb-api-2.1.jar放到E:/tomcat6/common/endorsed下后問(wèn)題解決。
注:沒(méi)有common/endorsed目錄的,自己創(chuàng)建。
小白