如何设置H2数据库JDBC URL以访问项目目标目录数据库?
解决H2控制台连接项目目录下数据库的JDBC URL配置问题
方式一:Windows本地绝对路径(推荐)
直接使用file:前缀,路径用正斜杠(无需转义):
jdbc:h2:file:C:/Users/scong/IdeaProjects/my-flyway-migration-service/target/foobar
或者用反斜杠(需转义成双反斜杠):
jdbc:h2:file:C:\\Users\\scong\\IdeaProjects\\my-flyway-migration-service\\target\\foobar
不要添加//localhost前缀,这会导致路径解析错误,出现你遇到的非法字符报错。
方式二:相对路径(需匹配控制台工作目录)
如果H2控制台是从项目根目录启动的,直接用相对路径即可:
jdbc:h2:file:./target/foobar
注意:若控制台启动目录不是项目根目录,相对路径会以控制台的工作目录为基准,可能找不到数据库文件。
方式三:利用用户主目录简化路径
由于H2默认以用户主目录为基准,可通过~替代用户主目录路径:
jdbc:h2:file:~/IdeaProjects/my-flyway-migration-service/target/foobar
额外注意
- 连接时无需指定
.mv.db后缀,H2会自动识别该文件。 - 确保H2控制台版本与项目依赖的H2版本一致,版本不兼容可能导致连接失败。
内容的提问来源于stack exchange,提问作者Cong
相关产品推荐
相关产品推荐

