以下を使用して、コマンドラインでカスタム構成ファイルを指定して、サーバー上でアプリケーションを正常に実行しました。
-Dconfig.file=app.conf
しかし、カスタム構成ファイルをローカルマシンにコピーしてそこで使用しようとすると、に渡し-Dconfig.fileてrun奇妙なエラーが表示され始めました。私は最終的にこれを追跡して、グローバルオブジェクトのonStartメソッドがまったく実行されていないことを突き止めました。なぜこうなった?
以下を使用して、コマンドラインでカスタム構成ファイルを指定して、サーバー上でアプリケーションを正常に実行しました。
-Dconfig.file=app.conf
しかし、カスタム構成ファイルをローカルマシンにコピーしてそこで使用しようとすると、に渡し-Dconfig.fileてrun奇妙なエラーが表示され始めました。私は最終的にこれを追跡して、グローバルオブジェクトのonStartメソッドがまったく実行されていないことを突き止めました。なぜこうなった?
何らかの理由で、タイプセーフな設定ライブラリが、カスタム設定ファイルでこの行をロードするのに黙って失敗していました
include "application"
sbt runただし、サーバー上でアプリケーションをスタンドアロンで実行している場合にのみ機能しました。
したがって、そのapplication.global=global.Global行はそのファイルで読み取られていなかったため、Play はオブジェクトを見つけることができず、何もしないGlobal空のGlobalオブジェクトに静かに戻りました。
行を変更しincludeて絶対ファイルパスを指定するとapplication.conf、問題が修正されました。