juzhong 2012-8-6 故障记录
\WEB-INF\lib\CmsCategory.hbm.xml
文件头为:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 2.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
红色部分, 不能访问, 导致出错.
改为:
hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
------------------------------------------------------------------
说明: 以前已发现的潜在问题, 今天终于爆发了,
hibernate.sourceforge.net & www.springframework.org 不能访问,
这导致 spring & hibernate 相关的 dtd 文件不能访问.
现在的临时解决方法, 就是 在 服务器上, 新建以上两个网址, 将 以下dtd文件放置上去:
http://www.springframework.org/dtd/spring-beans.dtd
http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
问题解决了,
但明显的, 这不应是最终解决方案, 应将 dtd 文件本地化,
目前已试过:
将 \WEB-INF\以下3个文件:
applicationContext-hibernate.xml
applicationContext-resources.xml
applicationContext-service.xml
中修改:
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
为
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
":/spring-beans.dtd">
但没有解决问题.
还要试一下以下:
1)将 xxx-dao.jar 中 com\wharve\dao\hibernate 目录下的 xxx-hibernate.xml 文件
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
2)将 xxx-dao.jar 中 com\wharve\dao\model 目录下的 xxx.hbm.xml 文件 <<--- 注: 可先试修改这个.
修改:
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
从上也可看到, 为什么现在只虚拟网址解决问题, 因为要修改的 xml 太多, 而在目前不知应如何修改 xml 为正确, 不利于快速解决问题.