玩2.3,Git和IDEA:嵌入式数据库的通用路径

Play 2.3, Git and IDEA: universal path to embedded database

我的问题是在项目文件夹中创建嵌入式数据库以与 git 共享。如果我设置一个明确的路径,如:

C:/users/<user>/Projects/<project>

它工作正常。但是如果有人从 git 中拉出项目,他就会走错路。我的想法是设置任何通用路径。如果我尝试:

jdbc:h2:file:./db

数据库在文件夹 /Program Files/IDEA/...

中创建

如果我尝试:

jdbc:h2:file:~/db

数据库是在文件夹 /users/user/... 中创建的,但不在我项目的文件夹中。

有什么方法可以设置我项目的通用路径吗?

感谢帮助!

根据H2's FAQ应该没有任何东西,没有。或~。因此,要将数据库存储到项目的文件夹中,例如 path_to_my_project/database/mydbfile,您可以使用:

 jdbc:h2:database/mydbfile

我遇到过类似的问题。看到这个我想我应该看看 H2 源代码。 :)

因此,如果它具有 ~,则 H2 将其替换为:

System.getProperty("User.home", "")

然后通过路径直接到普通的Java javax.io.File.

因此,鉴于以上所述,您可以制定适合你们双方的路径。找到 javax.io.File 的路径,将其放置在您想要的位置。如果你想使用 ~ 那么你知道它使用 User.home 中设置的值,如果没有定义,"" 是路径其余部分的后缀。