3

Play Framework 2.1 で SQLite を使用しようとしていますが、Play アプリケーションのルートからの相対パスを使用する必要があります。どうすればいいですか?

これは、application.conf 内の関連コードです。

db.default.driver=org.sqlite.JDBC
db.default.url="jdbc:sqlite:/I/want/relative/path/"

どうもありがとう。

4

1 に答える 1

2

Play アプリケーションのルートにデータベースを作成する場合は、次のようにする必要があります。

db.default.url="jdbc:sqlite:sqlite_test.db"

のようなフォルダで make database を使いたい場合は<PlayAppRootDirectory>/database/db_name.db、設定値にフル絶対パスを指定する必要があると思います。

別の方法として、Play アプリケーションのルート ディレクトリの環境変数を定義し、その値を on で使用することもできますapplication.conf

Play!Framework 2.xは、構成ファイルの構文としてHOCON形式 (Human-Optimized Config Object Notation) を使用します。

データベースのパスとして Play!Framework ルート フォルダーを使用する場合は、次のようにする必要があります。

db.default.driver=org.sqlite.JDBC
# The following line use HOCON format
db { default.url : "jdbc:sqlite:"${PLAY_APPS_ROOT}"/database/db_name.db" }

上記の構成値は、HOCON 構文を使用します。Play!Framework アプリケーションのルート フォルダー${PLAY_APPS_ROOT}の環境変数であることに注意してください。完全な絶対パスでデータベース パスを定義する必要があるため、データベース パスは実際には絶対パスです。参照用に次のリソースを読むことができます。

  1. タイプセーフな設定
  2. Play ドキュメンテーション - 設定
于 2013-04-02T09:19:35.123 に答える