Мы разрабатываем приложение Play 2.4 (Java API).Как использовать путь по отношению к корню проекта к конфигурации db-файла H2 с помощью Play Framework 2.4?
Для целей dev мы хотели бы использовать постоянную базу данных H2 с пути к файлу DB относительно корневого каталога проекта.
В How to use a persistent H2 database in the Play Framework instead of in-memory было решение Play 2.0:
db.default.url="jdbc:h2:file:data/db"
Однако, с 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)
...
Я мог получить соединение для работы с абсолютным путем и с дорожкой относительно домашнего каталога, например:
db.default.url="jdbc:h2:file:/Users/foo/data/db"
или
db.default.url="jdbc:h2:~/data/db"
Однако, есть какой-то способ, чтобы обратиться к корневой папке проекта?
как насчет 'db.default.url =" jdbc: h2: ./ data/db "'? – Roman
@Roman Кажется работать, спасибо. Не знаю, может ли быть хрупким, если процесс будет запущен из другого каталога каким-либо образом. Но для нашего развития это не проблема. Вы хотели бы добавить это как ответ? – Touko