Hibernate3.2 斷網之後報無法解析hibernate.cfg.xml錯誤
問題如題所述,補充的是在聯網狀態下是完全正常的。錯誤描述如下:
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
原因在於該配置檔案中頭部位置的配置項:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd
紅色標記部分表明了每次載入該配置檔案的時候都會去指定的網站查詢hibernate-configuration-3.0.dtd檔案。
同時,***.hbm.xml當中也一樣:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
其hibernate-mapping-3.0.dtd檔案也會發生類似的請求。
當無法連線網路之時,程式就會報錯。當然,偶爾也會成功,那是因為快取的原因。
解決的辦法就是在專案根目錄下建立一個檔案家用來專門存放這兩個檔案。
這裡最好注意一下版本匹配問題。
通常情況下,所載入的hibernateX.jar中\org\hibernate路徑之下就有,拷貝出來放入其中即可。
OK,成功了!