Comment utiliser un chemin relatif à la configuration du projet root par rapport au fichier H2 db avec le Framework Play 2.4?

nous développons une application Play 2.4 (API Java).

pour les besoins de dev, nous aimerions utiliser une base de données H2 persistante avec un chemin de fichier DB relatif au répertoire racine du projet.

Dans Comment utiliser un persistante H2 base de données dans le Jeu de Cadre au lieu de mémoire il y a une solution pour Jouer 2.0:

db.default.url="jdbc:h2:file:data/db"

cependant, avec le jeu 2.4 cela ne semble pas fonctionner mais j'ai un message d'erreur à l'exception suivante en bas:

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)
    ...

je pouvais obtenir une connexion pour travailler avec un chemin absolu et avec un chemin relatif au répertoire personnel, comme suit:

db.default.url="jdbc:h2:file:/Users/foo/data/db"

ou

db.default.url="jdbc:h2:~/data/db"

Toutefois, est-il possible de consulter le dossier racine du projet?

26
demandé sur Community 2015-06-02 15:30:38

2 réponses

Ok, j'ai fait une petite recherche et j'ai trouvé ça dans le changelog ( http://www.h2database.com/html/changelog.html ):

les chemins relatifs implicites sont désactivés (propriété du système "h2.implicitRelativePath"), de sorte que L'URL de la base de données jdbc:H2:test doit maintenant être écrite comme jdbc:H2:./test.

dans H2 à partir de la version 1.4.177 Beta, les chemins relatifs implicites ne sont plus autorisés. Donc, dans votre cas, l'url doit être écrite avec un chemin relatif explicite: db.default.url="jdbc:h2:./data/db" .

41
répondu Roman 2015-06-03 06:41:47

dans votre cas, je pense

db.défaut.url = "jdbc: h2:~ / data / db"

se réfère à ressource dossier de votre projet.

-3
répondu Praveen Shendge 2016-10-28 10:23:13