您的某个 XML 文件中的 DOCTYPE 定义似乎引用了 hibernate.sourceforge.net 上的 DTD。
现在 DTD 存在,但如果您的应用程序无法访问 Internet,则无法访问它。
您可以尝试将 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>
这也是一个有效的文档类型,但它唯一的作用是将文档中根元素的名称限制为“hibernate-configuration”。之后是通配符。