玩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
中设置的值,如果没有定义,""
是路径其余部分的后缀。
我的问题是在项目文件夹中创建嵌入式数据库以与 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
中设置的值,如果没有定义,""
是路径其余部分的后缀。