Tou*_*uko 32 jdbc relative-path h2 persistent playframework-2.4
我们正在开发一个Play 2.4应用程序(Java API).
出于开发目的,我们希望使用具有相对于项目根目录的DB文件路径的持久H2数据库.
在如何在Play Framework中使用持久性H2数据库而不是内存中有Play 2.0的解决方案:
db.default.url="jdbc:h2:file:data/db"
Run Code Online (Sandbox Code Playgroud)
但是,使用Play 2.4这似乎不起作用,但我收到错误消息,底部有以下异常:
Caused by: org.h2.jdbc.JdbcSQLException: A file path that is implicitly
relative to the current working directory is not allowed in the database
URL "jdbc:h2:file:data/db". Use an absolute path, ~/name, ./name, or the
baseDir setting instead. [90011-187]
at org.h2.message.DbException.getJdbcSQLException(DbException.java:345)
at org.h2.message.DbException.get(DbException.java:179)
...
Run Code Online (Sandbox Code Playgroud)
我可以使用绝对路径和相对于主目录的路径来连接工作,如下所示:
db.default.url="jdbc:h2:file:/Users/foo/data/db"
Run Code Online (Sandbox Code Playgroud)
要么
db.default.url="jdbc:h2:~/data/db"
Run Code Online (Sandbox Code Playgroud)
但是,有没有办法引用项目根文件夹?
Rom*_*man 55
好的,我做了一些研究,并在更新日志中找到了这个(http://www.h2database.com/html/changelog.html):
禁用隐式相对路径(系统属性"h2.implicitRelativePath"),因此数据库URL jdbc:h2:test现在需要写为jdbc:h2:./ test.
在从版本1.4.177 Beta开始的H2中,不再允许隐式相对路径.因此,在您的情况下,url应使用显式相对路径编写:db.default.url="jdbc:h2:./data/db".
小智 5
可以使用固定或相对路径。使用 URL jdbc:h2:file:./data/sample http://www.h2database.com/html/faq.html 时
现在可以使用相对路径。
例如,
jdbc:h2:file:./../../h2db;
| 归档时间: |
|
| 查看次数: |
24800 次 |
| 最近记录: |