4

application.confPlay 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

同じ問題に遭遇した人の助けになることを願っています。

4

1 に答える 1

2

prod モードでは画像が正しく表示されないという問題がありましたが、dev モードでは問題ありませんでした。解決策は、パスを ("/images/...") ではなく ("images/...") として記述することでした。科学のためだけに、試してみてください。

とにかく、これが機能しない場合は、ファイルを上書きするコンソール行を含む、prod モードでの追加の Conf に関するドキュメントを次に示します。$ start -Dconfig.file=/opt/conf/prod.conf

http://www.playframework.com/documentation/2.0/ProductionConfiguration

于 2013-07-09T07:15:32.613 に答える