今天公司的网络出了点问题,上不了网了。但是发现自己的程序也跑不起来了,报了个错,Unknow Host
:hibernate.sourceforge.net
后来想起来了,是这里出问题了。我们一般的hbm文件都会有这样的一段代码:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
问题就出现在这个DTD是引用网络的上DTD文件,网络断了,hibernate-mapping-3.0.dtd这个文件是找不着的,幸好有源码,从
源码里找到这个文件,放到src下,然后修改
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"hibernate-mapping-3.0.dtd" >
但是启动后还是报错:
FileNotFoundException
根据错误提示看了下,原来这个文件要放到项目的根目录,copy过来,在启动程序,能够正常运行了。
所以以后开发程序需要注意了,如果不能上网或者网络比较慢,最好将DTD下载到本地,这样的会程序就不会出错了。
最好是使用本地的DTD,能够程序对网络的依赖。