org.dom4j.DocumentException: hibernate.sourceforge.net Nested exception: hibernate.sourceforge.net
java.net.UnknownHostException: hibernate.sourceforge.net
我在hibernate中显示上面显示的这些错误,当互联网打开时,它会正常工作。如果没有互联网,它将显示上述错误。
请事先帮助我。
请简要说明。
答案 0 :(得分:0)
您的某个XML文件中的DOCTYPE定义似乎是指hibernate.sourceforge.net上的DTD。
现在DTD已存在,但如果无法访问互联网,您的应用程序将无法访问它。
您可以尝试将DTD复制到本地,并将XML文件的标题更改为:
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
这样的事情:
<!DOCTYPE hibernate-configuration SYSTEM "hibernate-configuration.dtd">
其中“hibernate-configuration.dtd”指向文件系统或jar文件中的本地资源。
克服这个问题最肮脏的伎俩是完全删除DTD声明:
<!DOCTYPE hibernate-configuration>
这也是一个有效的doctype,但它唯一能做的就是将文档中根元素的名称限制为“hibernate-configuration”。在那之后它是野生的。
答案 1 :(得分:0)
从此处http://hibernate.org/dtd/hibernate-configuration-3.0.dtd
下载DTD文件然后将此hibernate-configuration-3.0.dtd
文件添加到jar中。对于基于maven的项目,将该文件添加到/ src / main / resources文件夹中。
现在在hibernate.cfg.xml
添加以下DTD声明
<!DOCTYPE hibernate-configuration SYSTEM "classpath://hibernate-configuration-3.0.dtd">
现在没有互联网连接,您的应用就可以使用了。