在OpenShift RedHat服务器中配置hibernate.cfg.xml

时间:2013-04-17 20:14:07

标签: java tomcat jboss

我正在尝试在OpenShift主机(Tomcat 6(JBoss EWS 1.0))上配置xWiki服务器。我之前从未配置过Java服务器而且我有一个问题:

我在我当地的Ubuntu上关注了THIS tuto并且工作了。但是重现OpenShift服务器中的步骤我找不到 hibernate.cfg.xml 。使用hibernate在目录树中查找文件我找到了包含文件的文件夹jbossews-1.0/jbossews-1.0/work/Catalina/localhost/xwiki/WEB-INF/lib/

hibernate-c3p0-3.6.9.Final.jar
hibernate-core-3.6.9.Final.jar
hibernate-validator-4.3.0.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
hibernate-commons-annotations-3.2.0.Final.jar

但与hibernate.cfg.xml没什么相似之处。我该如何解决?

3 个答案:

答案 0 :(得分:3)

hibernate.cfg.xml是您的Hibernate配置文件,您可以在其中指定数据库的方言,连接驱动程序,URL,用户名,密码等。

示例:

<?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="dialect">org.hibernate.dialect.MySQLDialect</property>
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
    <property name="connection.url">jdbc:mysql://host/database</property>
    <property name="connection.username">username</property>
    <property name="connection.password">password</property>

    <property name="cache.provider_class">org.hibernate.cache.HashtableCacheProvider</property>

    <property name="transaction.factory_class">org.hibernate.transaction.JDBCTransactionFactory</property>
    <property name="current_session_context_class">thread</property>
    <property name="hibernate.show_sql">false</property>
  </session-factory>

</hibernate-configuration>

将此文件放在Java资源类路径中。 有关详细信息,请查看hibernate.cfg.xml for Oracleexample by mkyong

答案 1 :(得分:1)

这是(无论如何)xWiki安装问题。如果您正在使用WAR文件,那么当您将WAR放入tomcat webapps目录时,Tomcat通常会将WAR扩展到具有相同名称的目录中。在该目录中,在WEB-INF目录中,应该是hibernate.cfg.xml文件。通常,在这里:

/var/lib/tomcat5.5/webapps/xwiki/WEB-INF/hibernate.cfg.xml

如果您已将Tomcat配置为运行WAR而不进行扩展,那么该文件将位于WAR中:

WEB-INF/hibernate.cfg.xml

但在这种情况下,您必须编辑XML文件并将其放回WAR中以配置应用程序。

答案 2 :(得分:0)

我遇到了同样的问题,并且通过对tomcat进行打击,我看到它看到了以下几个地方,长的是在我的openstack装备的git存储库中:

  • /var/lib/openshift/518f381fe0b8cd1de2000181/git/tomcat.git/hibernate.cfg.xml
  • /usr/share/java/tomcat7/hibernate.cfg.xml

我无法在命令行或catalina.properties中给出这些位置与类路径之间的任何关联。 git存储库是tomcat的cwd。把hibernate.cfg.xml放在那里现在可以工作了。但我相信,一旦openstack家伙意识到将cwd放在那里会有多么混乱,他们会把它移走。