またちょっとプログラムよりなコアな話を。
Play Frameworkでちょっと躓いた話。
そもそもPlay Frameworkって何だって人には、下のリンクが参考になるかもしれません。
Play Framework(2.3~)のアプリケーションを起動するコマンドは主に3つあります。
activator run
⇒ アプリケーションを開発モードで起動する
activator start
⇒ アプリケーションを本番モードで起動する
activator stage
⇒アプリケーションを本番モードで即起動できるように準備をする(特定の場所に実行ファイルができあがり、それを叩くことで起動する)
公式の説明にのっとり、開発時はいつも「activator run」を使用しているんですよ。
それで起動時のオプションに開発用の設定ファイルを指定して
activator run -Dconfig.resource=debug.conf
みたいな感じでいつも起動していたんですね。
それで、いざ本番モードで起動しようと思って
activator start -Dconfig.resource=debug.conf
と指定してやったんです。
そうしたらどうも動かない……。
んで……。
stackoverflow等で情報を探しまくったら、どうやら「activator start」時の起動オプションは次のように指定しなければならないらしい。
activator "start -Dconfig.resource=debug.conf"
コマンドからオプションまでをダブルクォーテーションで囲う。
ちなみにrunの場合は以下のコードのどちらでも正常にオプションが適応される。
activator run -Dconfig.resource=debug.conf
activator "run -Dconfig.resource=debug.conf"
ふうん……なるほどなるほど。
※ エンジニア系のネタは下のブログに移行中です。