我正在尝试在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没什么相似之处。我该如何解决?
答案 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 Oracle或example 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存储库中:
我无法在命令行或catalina.properties中给出这些位置与类路径之间的任何关联。 git存储库是tomcat的cwd。把hibernate.cfg.xml放在那里现在可以工作了。但我相信,一旦openstack家伙意识到将cwd放在那里会有多么混乱,他们会把它移走。