Hibernate 未联网情况下不能根据dtd解析hbm.xml
来源:互联网 发布:ppt图表无法修改数据 编辑:程序博客网 时间:2024/06/05 04:42
通常在使用log4j或者hibernate工具时都要写xml配置文件,基本上每一个xml配置文件都有规范,也就是dtd文件,因为在项目运行读取xml配置文件时就是先读取dtd文件来判断xml文件是否正确,验证正确之后才会真的读取xml文件。
之前在使用hibernate时遇到一个问题,在不联网的情况下项目启动不成功。当时网上十点多还是可以正常运行的,11点后就不行(学校11点后断网,真坑),看报错信息是因为无法解析hbm.xml文件,仔细看hbm.xml文件路径没错,愣是无法解析,甚是诡异,后来就开始怀疑dtd文件的问题。一开始想到就是把dtd文件放到本地,让其本地解析。经过以下博客的学习:
http://www.cnblogs.com/xiaoluo501395377/archive/2012/11/06/2756204.html
大多数情况下是可以解决的。(网上还有方法说是跳过dtd文件验证,建议不要这样做)
我也是醉了...知道是tdt路径不正确导致的原因后,就可以利用上面提到的方法来设为本地验证。(之前不正确的原因是因为按照第一个dtd路径下载的dtd文件,保存本地后验证还是错的!)下面来简单说明本地验证的过程。
之前在使用hibernate时遇到一个问题,在不联网的情况下项目启动不成功。当时网上十点多还是可以正常运行的,11点后就不行(学校11点后断网,真坑),看报错信息是因为无法解析hbm.xml文件,仔细看hbm.xml文件路径没错,愣是无法解析,甚是诡异,后来就开始怀疑dtd文件的问题。一开始想到就是把dtd文件放到本地,让其本地解析。经过以下博客的学习:
http://www.cnblogs.com/xiaoluo501395377/archive/2012/11/06/2756204.html
大多数情况下是可以解决的。(网上还有方法说是跳过dtd文件验证,建议不要这样做)
按照以上的博客,把dtd文件放到项目里后,xml文件改写为:
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE hibernate-mapping SYSTEM "hibernate-mapping-3.0.dtd">
而我的问题仍是无法解决,提示我dtd文件不存在,于是试着改变dtd文件的位置,尝试过把文件放到项目路径下,WebContent下,WEB-INF下,src下都不行。仔细看报错信息,居然提示我
找不到 D:\EclipseJavaEE\eclipse\hibernate-configuration-3.0.dtd
居然到我Eclipse下的目录里找dtd文件了,一脸懵逼,最后迫于无奈只好把dtd文件放到Eclipse下了,当然这只是没联网的情况下,毕竟网断了,但代码还是要继续...
2017-04-30更新:
通过修改修改利用本地dtd文件检验是可以的,不成功的原因是因为hibernate3.x版本官方文档错误,在hbm.xml配置文件上引用的dtd文件错误的写成了
http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"
http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
我也是醉了...知道是tdt路径不正确导致的原因后,就可以利用上面提到的方法来设为本地验证。(之前不正确的原因是因为按照第一个dtd路径下载的dtd文件,保存本地后验证还是错的!)下面来简单说明本地验证的过程。
1.window -> preferences ,搜索xml,选择 XML Catalog,选中User Specified Entries,最后点击Add。
2.添加本地tdt文件路径
需要注意的地方:
1.Key type选择public ID
2.Key 为:-//Hibernate/Hibernate Mapping DTD 3.0//EN
3.勾选Alternative web address,在下填写:http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd
其实为什么这样填写,可以从hbm.xml文件中揣摩出来
最后重启Eclipse即可。
0 0
- Hibernate 未联网情况下不能根据dtd解析hbm.xml
- hibernate中不能解析hbm.xml的问题
- hibernate:hbm下dtd配置错误
- hibernate hbm xml query
- hibernate.hbm.xml
- hibernate.hbm.xml详解
- hibernate.hbm.xml详解
- hibernate.hbm.xml配置
- Hibernate hbm.xml配置
- hibernate.hbm.xml配置
- hibernate.hbm.xml配置
- hibernate.hbm.xml
- Hibernate *.hbm.xml
- hibernate.hbm.xml详解
- hibernate.hbm.xml详解
- hibernate.hbm.xml详解
- hibernate--6.hbm.xml
- hibernate.hbm.xml详解
- 数据流重定向-导出训练日志
- string insert()函数的用法
- hdu 2319
- 判断文件是否为二进制
- numpy找出array中的最大值,最小值
- Hibernate 未联网情况下不能根据dtd解析hbm.xml
- F
- SpringBoot 学习记录(十): scheduler
- 第七届 山东省ACM Proxy(SPFA+反向建边)
- strcat标准库函数
- 性能优化十六之Wake_Lock唤醒锁以及JobScheduler使用
- POJ2395Out of Hay(最小生成树Kruskal模板)
- Spring访问数据的方式
- PL/SQL 循环语句