为什么hibernate在不联网的时候解析不了配置文件?(hibernate.cfg.xml)

时间:2020-11-28 12:01:36

在做项目时通常用hibernate框架来进行数据库的一些操作,但是有时候网络条件差或者不联网的情况下,在对数据库进行增删改查操作时,总是会报下面的异常:

Exception in thread "main" org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1418)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1352)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1338)
	at org.wjp.hibernate.ExportDB.main(ExportDB.java:8)
	Caused by: org.dom4j.DocumentException: www.hibernate.org Nested exception: www.hibernate.org
	at org.dom4j.io.SAXReader.read(SAXReader.java:484)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1408)
	... 3 more

刚开始没注意,在没联网的时候报出这个错误。。。

在网上查询一些资料才知道为什么报错!

先看下hibernate.cfg.xml核心文件中的头部分:

1.一般配置文件

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
	"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
	"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

2.

<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">


我去!就是这两东西搞得鬼。。

me使用的就是第一种配置头文件,一没网就报错!!!!

原因就出现在dtd文件那里,因为hibernate的两个配置文件分别都会默认去上面加粗的网站去找,所以当使用hibernate进行数据库操作时,如果你的网络环境不好或者没联网,此时配置文件无法访问指定的dtd验证文件,所以才会出现xml无法解析的异常。



所以不要用第一种配置文件啦。。。。。。

第二种暂时没发现有什么异常之处