在解析mybatis的mapper.xml文件時,發現saxBuilder.build函數發生·阻塞·的情況,更加嚴重的情況會出現下圖所示的錯誤,也就是Connection time out
經研究,對錯誤發生的位置的調用棧debug,最終終於發現瞭如下的問題:
也就是說,在最底層的連接超時是因爲連接不上mybatis.org
,也就是說,連接mybatis.org網站超時;然後自己在瀏覽器中輸入mybatis.org,發現確實進網站非常慢;於是問題的根源就找到了。
Mybatis的mapper文件的頭部有一些鏈接信息,用來驗證xml格式,所以問題就出在xml的頭部
和網絡問題
解決方法:一行代碼:
saxBuilder.setEntityResolver((publicId, systemId) -> new InputSource(new StringReader("")));
Reference:
jdom dom4j解析xml不對dtd doctype進行驗證()