application.conf
Play 2.1.1 アプリケーションのプロダクション モードで外部ファイルをインクルードするのに問題があります (で起動した場合start
)
公式ドキュメントに従って、次のinclude
ステートメントを myに追加しましたapplication.conf
。
[...]
include "/absolute/path/to/external/config/file.conf"
コンテンツは次のようにロードされます:
configuration.getConfig("some-key")
開発モードでは問題なく動作しますが、プロダクション モードでは失敗します (常にNone
です)。
これにより、アプリケーションを本番環境にデプロイできません。
どんな助け/アイデアも大歓迎です。
編集: Saffron のコメントに従って、いくつかの回避策を試しました。
include ステートメントから最初のスラッシュを削除しても機能しませんでした。
-Dconfig.file=/abs/path 経由で構成ファイルをロードすると、おかしな結果になり、Play が一貫した方法で動作していないようです:
play start -Dconfig.file=/path/to/file.conf
動作しません。ただし、play
実行中の起動start -Dconfig.file=/path/to/file.conf
は機能しますか??!!
そのため、Play を使用する代わりに、新しい構成を作成することになりました。
val conf = ConfigFactory.parseFile(new File("/path/to/file.conf")).resolve()
val myValues = new Configuration(conf).getConfig("some-key").get
同じ問題に遭遇した人の助けになることを願っています。