在 VPS 服务器上部署时出现 Hibernate 异常
Hibernate Exception while deploying on VPS server
我是第一次使用 VPS 服务器来部署我的应用程序。我创建了一个 Hibernate 项目。部署后出现以下错误
org.hibernate.HibernateException: Could not parse configuration:
/hibernate.cfg.xml
org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2246)
org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:230)
org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:71)
org.hibernate.cfg.Configuration.configure(Configuration.java:2158)
org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:212)
org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:71)
org.hibernate.cfg.Configuration.configure(Configuration.java:2137)
org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:206)
util.HibernateUtil.(HibernateUtil.java:26)
services.HibernateServices.(HibernateServices.java:41)
servlet.GetShopProfile.processRequest(GetShopProfile.java:42)
servlet.GetShopProfile.doGet(GetShopProfile.java:77)
javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
为了测试我的数据库是否工作正常,我创建了一个正常的数据库连接 class,它工作正常。
hibernate.cfg.xml
<?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.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.connection.pool_size">1</property>
<property name="hibernate.current_session_context_class">thread</property>
<!--<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property>-->
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
<mapping class="pojo.TestClass"/>
</session-factory>
</hibernate-configuration>
目录结构
WEB-INF
classes
pojo
TestClass.class
services
HibernateService.class
servlet
TestServlet.class
util
HibernateUtil.class
hibernate.cfg.xml
我们安装了 Tomcat 7.0。
请帮忙!!!
将hibernate.cfg.xml改为
<?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">
您可以尝试在评论行中添加 space 吗?
<!--<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property>-->
将上面一行替换为
<!-- <property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> -->
我认为在您的评论开始部分之后开始标记 < 会导致 xml 解析问题。
我通过在我的服务器上重新安装 tomcat 解决了这个问题。
按照问题中的建议更改 DTD 可以解决此问题的任何方法:
我在我的案例中尝试了多种解决方案,但最后没有任何效果,我重新安装了 tomcat,一切都很好
感谢大家的投入和时间。
我是第一次使用 VPS 服务器来部署我的应用程序。我创建了一个 Hibernate 项目。部署后出现以下错误
org.hibernate.HibernateException: Could not parse configuration: /hibernate.cfg.xml org.hibernate.cfg.Configuration.doConfigure(Configuration.java:2246) org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:230) org.hibernate.cfg.AnnotationConfiguration.doConfigure(AnnotationConfiguration.java:71) org.hibernate.cfg.Configuration.configure(Configuration.java:2158) org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:212) org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:71) org.hibernate.cfg.Configuration.configure(Configuration.java:2137) org.hibernate.cfg.AnnotationConfiguration.configure(AnnotationConfiguration.java:206) util.HibernateUtil.(HibernateUtil.java:26) services.HibernateServices.(HibernateServices.java:41) servlet.GetShopProfile.processRequest(GetShopProfile.java:42) servlet.GetShopProfile.doGet(GetShopProfile.java:77) javax.servlet.http.HttpServlet.service(HttpServlet.java:621) javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
为了测试我的数据库是否工作正常,我创建了一个正常的数据库连接 class,它工作正常。
hibernate.cfg.xml
<?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.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/test</property>
<property name="hibernate.connection.username">root</property>
<property name="hibernate.connection.password">root</property>
<property name="hibernate.show_sql">true</property>
<property name="hibernate.connection.pool_size">1</property>
<property name="hibernate.current_session_context_class">thread</property>
<!--<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property>-->
<property name="hibernate.query.factory_class">org.hibernate.hql.classic.ClassicQueryTranslatorFactory</property>
<mapping class="pojo.TestClass"/>
</session-factory>
</hibernate-configuration>
目录结构
WEB-INF
classes
pojo
TestClass.class
services
HibernateService.class
servlet
TestServlet.class
util
HibernateUtil.class
hibernate.cfg.xml
我们安装了 Tomcat 7.0。 请帮忙!!!
将hibernate.cfg.xml改为
<?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">
您可以尝试在评论行中添加 space 吗?
<!--<property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property>-->
将上面一行替换为
<!-- <property name="hibernate.query.factory_class">org.hibernate.hql.internal.classic.ClassicQueryTranslatorFactory</property> -->
我认为在您的评论开始部分之后开始标记 < 会导致 xml 解析问题。
我通过在我的服务器上重新安装 tomcat 解决了这个问题。
按照问题中的建议更改 DTD 可以解决此问题的任何方法:
我在我的案例中尝试了多种解决方案,但最后没有任何效果,我重新安装了 tomcat,一切都很好
感谢大家的投入和时间。