問題起因:
升級spring2.x的dtd聲明為xsd聲明以后,spring2.x+struts2.x的應(yīng)用在weblogic81下報錯,日志提示建議使用jdk1.5或升級xerces。
解決過程:
自己寫了一個spring2.x+struts2.x應(yīng)用在weblogic81下正常運行。說明問題出在應(yīng)用上。
拷貝出問題的應(yīng)用的jar包到成功應(yīng)用的lib目錄,問題仍然存在。說明還有其他隱情。
比對兩個應(yīng)用,發(fā)現(xiàn)出問題的應(yīng)用使用了weblogic.xml, 其中配置了優(yōu)先加載web-inf\lib的jar包。
此時建立jrokit/jar/lib/endrosed目錄,放入最新的xerces包,也不生效。
換一個思路,查詢DocumentBuilderFactoryImpl,發(fā)現(xiàn)有應(yīng)用中有4處引用,刪除xerces.jar的時候,發(fā)布成功。至此問題解決!!!!!!!
問題總結(jié):
1 要注意保留成功的案例,以便比對。
最近碰到兩個類似的問題了:一個是websphere下的web-inf\template問題,一個就是由于weblogic.xml干預(yù),造成xerces.jar
的問題。
2 要注意觀察實際使用的類的版本
3 升級以后,一定要驗證單個平臺下是否都能正常使用,并增加評審環(huán)節(jié),避免影響他人。