Wie verwende ich einen Pfad relativ zum Projektstamm zur H2 db-Dateikonfiguration mit Play Framework 2.4?
Entwickeln wir ein Theaterstück 2.4 Anwendung (Java-API).
Für dev-Zwecke, wir möchten eine dauerhafte Verwendung der H2-Datenbank mit der DB-Datei-Pfad relativ zum Projekt-Stammverzeichnis.
In Wie eine dauerhafte Verwendung der H2-Datenbank in die Play-Framework anstelle von in-memory es war die Lösung für das Spiel 2.0:
db.default.url="jdbc:h2:file:data/db"
Jedoch mit Spielen 2.4 scheint dies nicht zu funktionieren, aber ich erhalte eine Fehlermeldung, mit der folgenden Ausnahme unten:
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)
...
Ich bekommen konnte, um Verbindung mit einem absoluten Pfad und mit einem Pfad relativ zum home-Verzeichnis, wie die folgenden:
db.default.url="jdbc:h2:file:/Users/foo/data/db"
oder
db.default.url="jdbc:h2:~/data/db"
Jedoch gibt es einige verweisen auf die Projekt-root-Ordner?
InformationsquelleAutor der Frage Touko | 2015-06-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok, ich habe ein wenig Forschung und fand diese in der changelog (http://www.h2database.com/html/changelog.html):
In H2 ab version 1.4.177 Beta, implizite relative Pfade werden nicht mehr zugelassen. Also, in deinem Fall die url geschrieben werden sollen, mit einer expliziten relativen Pfad:
db.default.url="jdbc:h2:./data/db"
.InformationsquelleAutor der Antwort Roman
In Ihrem Fall , ich denke,
beziehen sich auf Ressource Ordner Ihres Projekts.
InformationsquelleAutor der Antwort Praveen Shendge