Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Tomcat H2部署_Java_Database_Hibernate_Configuration_H2 - Fatal编程技术网

Java Tomcat H2部署

Java Tomcat H2部署,java,database,hibernate,configuration,h2,Java,Database,Hibernate,Configuration,H2,我有两种情况 hibernate.cfg: <property name="connection.url">jdbc:log4jdbc:h2:./H2/test</property> <property name="connection.driver_class">net.sf.log4jdbc.sql.jdbcapi.DriverSpy</property> <property name="connection.username">u

我有两种情况

hibernate.cfg:
<property name="connection.url">jdbc:log4jdbc:h2:./H2/test</property>
<property name="connection.driver_class">net.sf.log4jdbc.sql.jdbcapi.DriverSpy</property>
<property name="connection.username">user</property>
<property name="connection.password">password</property>
<property name="dialect">org.hibernate.dialect.H2Dialect</property>
hibernate.cfg:
jdbc:log4jdbc:h2:./h2/测试
net.sf.log4jdbc.sql.jdbcapi.DriverSpy
用户
密码
org.hibernate.dial.h2方言
  • H2 db在我的项目中,靠近我的src文件夹。如果我尝试从简单类测试连接,它会工作。它连接到项目文件夹中正确位置的数据库

  • 现在我正在进行新的配置以启动tomcat+servlet。一切正常,但tomcat在他的文件夹中创建了新的H2数据库:(apache-tomcat-8.0.17\bin\H2\test.mv.db)。可以让tomcat从我的项目文件夹中获取(使用)我的test.mv.db吗?
    如果我手动地将test.mv.db从项目放入tomcat的目录中,它正在工作(我没有使用带有空白密码的“sa”)。我不想将H2DB放入用户的文件夹中,比如jdbc:h2:~/test)

  • 多谢各位

  • 您应该将
    hibernate
    前缀附加到所有属性

  • 尝试为H2提供数据库文件夹的绝对路径:

    <property name="hibernate.connection.url">jdbc:h2:file:/your-project-path/test-db</property>
    
    jdbc:h2:file:/your项目路径/testdb
    
  • 我认为驾驶员级别设置也不正确。应该是:

    <property name="hibernate.connection.driver_class" value="org.h2.Driver" />
    
    
    

  • 您是否尝试过在connection.url属性值中对路径进行编码?Tomcat运行的用户需要访问该目录和文件的权限。不,我没有。他们还说这种情况的发生是因为“嵌入式”,我应该尝试使用H2作为服务器。我可能是错的-绝对路径是一件好事,但是如果我把这个项目转移到其他地方部署呢?道路将被打破。我从一开始就启动tomcat,看看我的项目是如何工作的。我并没有尝试创建war,而是将它放在tomcat webapps中,看看它是如何工作的。关于该驱动程序:该驱动程序是log4jdbc的驱动程序,因为我需要log4jdbc来工作。您可以也应该使用Maven来配置DB属性,DB路径就是这样的设置之一。2.确保已启用log4jdbc.auto.load.popular.drivers设置。