2016-05-30 6 views
2

データベースコンフィグレーションでapplication.confファイルがあります:db.default.url = "jdbc:sqlite:public/db/mydatabase.db"。これは開発モードで正常に動作します。アプリケーションは、最終的には30秒の間にデータベースに接続しようと 私は生産で展開しようとすると、後に行わ./activator clean compile stage./activator startは例外で終了します。Playframework 2.5:ステージモードでSQLite dbファイルにアクセスできない

java.sql.SQLException: path to 'public/db/mydatabase.db': '/path/to/app/target/universal/stage/public' does not exist 

私は特定のPRODで絶対パスを指定しようとしました。 confはapplication.confを含み、db.default.urlを上書きします。私はコマンドライン(-Ddb.default.url="jdbc:sqlite:public/db/mydatabase.db")への引数で始めることも試みましたが、出力は常に同じです。 この問題を解決するにはどうすればよいですか?

EDIT:prod.conf設定がapplication.conf文をオーバーライドしていないようです...プロダクション固有のプロパティでapplication.confファイルを直接変更すると動作します。

答えて

2

再生では、stage/distタスクのアセットがパッケージ化されません。プロダクションでは、アセットは、ファイルシステムではなくアプリケーションを起動するときにロードされるjarファイル(つまり「public」フォルダ)にあります。そのようにロードすることはできません。

SQLiteファイルをconfディレクトリに移動し、行を新しいパスに合わせて変更します。

+0

誰かがこの問題を修正する必要があります。これは本当に面倒です! – bharal

関連する問題