Eclipse在值XML属性(在hibernate.cfg.XML中)上检测到错误
我有一个hibernate配置文件,它在Eclipse中被标记。具体而言,将标记属性的值属性,如下面最后一行所示Eclipse在值XML属性(在hibernate.cfg.XML中)上检测到错误,xml,eclipse,hibernate,Xml,Eclipse,Hibernate,我有一个hibernate配置文件,它在Eclipse中被标记。具体而言,将标记属性的值属性,如下面最后一行所示 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configura
<?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">
<hibernate-configuration>
<session-factory>
<property name="hibernate.connection.driver_class" value="oracle.jdbc.driver.OracleDriver" />
错误消息是
必须为元素类型“属性”声明属性“值”
为什么Eclipse会对此进行标记?我如何更新我的Eclipse,使它不再将此标记为错误
顺便说一下,我知道我可以重写property元素(如下所示)并避免错误,但我不应该这样做
<property name="hibernate.connection.driver_class"> oracle.jdbc.driver.OracleDriver</property>
oracle.jdbc.driver.OracleDriver
Eclipse只是按照您引用的DTD运行。根据该DTD,
元素没有名为值的属性
<!ELEMENT property (#PCDATA)>
<!ATTLIST property name CDATA #REQUIRED>
因此,您的XML无效,这正是Eclipse警告您的
也许Hibernate可以容忍您正在使用的XML内容,但这与它自己的DTD相冲突
也许Hibernate 4的DTD已经被更正,或者您可以使用基于模式的XML代替DTD。感谢E-Riz的澄清。这是一个已经启动并运行多年的项目,因此Hibernate显然可以容忍将“value”设置为属性。我不希望Eclipse将此捕获为一个错误,所以我通过右键单击我的项目,进入属性>验证,然后取消选中XML验证程序,禁用了此项目的XML验证