【问题标题】:The document type declaration for root element type "hibernate-configuration" must end with '>' in eclipseEclipse 中根元素类型“hibernate-configuration”的文档类型声明必须以 '>' 结尾
【发布时间】:2015-12-17 01:08:22
【问题描述】:

以下是我的 hibernate.cfg.xml 文件

<!DOCTYPE hibernate-configuration SYSTEM
          "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
          "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">   

<hibernate-configuration>
<session-factory>
<property name="hbm2ddl.auto">update</property>
<property name="dialect">org.hibernate.dialect.Oracle9Dialect</property>
<property name="connection.url">jdbc:oracle:thin:@localhost:1521:xe</property>
<property name="connection.username">bala</property>
<property name="connection.password">bala</property>
<property name="connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
<mapping resource="Products.hbm.xml" />

将“PUBLIC”更改为 SYSTEM 时出现错误。如果我关闭互联网连接,我将无法运行我的网络应用程序

我的问题如何在没有互联网连接的情况下执行 Hibernate Web 程序?

【问题讨论】:

  • 你能发布完整的 hibernat.cfg.xml 吗?发布的配置没有一些结束标签。
  • 无法发布完整的 hibernate..cfg.xml 。错过的行是 true

标签: xml hibernate web-applications configuration


【解决方案1】:

如果您需要更改一种文档类型定义,您应该知道,对于 SYSTEM 来说,只需给出一个系统标识符,尽管 PUBLIC 需要一个正式的公共标识符,然后是一个系统标识符。

所以,在你的情况下,你需要让它像:

<!DOCTYPE hibernate-configuration SYSTEM
    "classpath://org/hibernate/hibernate-configuration-3.0.dtd">

在这种情况下,不会下载 dtd 文件,而是使用本地文件,该文件必须在您的类路径中。

【讨论】:

  • 好的,我明白了。但是如果我在 Java 项目中进行相同的更改,则没有错误。为什么?你能详细解释一下吗?
  • 您的意思是,只有在您通过 Eclipse 编译和运行它时才会出现错误?如果是这样,我想,这是因为 Eclipse 有它自己的 java 编译器,它有时会表现不同
  • @Stanislav 我在教学生时遇到了同样的问题。我有完全相同的代码,当我这样做时它运行得非常好。我的一半学生也能做到。但是他们中的几个有这个解析错误。我们尝试了很多东西,但无法让它运行
猜你喜欢
  • 1970-01-01
  • 2019-11-09
  • 1970-01-01
  • 2019-11-10
  • 2019-11-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多