§Play コンソールを使う
§コンソールの起動
Play コンソールは、sbt をベースにした開発コンソールです。Play アプリケーションの全ての開発サイクルをサポートしてくれます。
コンソールを起動するためには、Play アプリケーションのディレクトリで、play
スクリプトを実行してください。
$ cd /path/to/any/application
$ play
§ヘルプの表示
help play
コマンドを実行すると、利用可能なコマンドとその簡単な説明が確認できます。
[My first application] $ help play
§開発モードでサーバを起動する
アプリケーションを開発モードで起動するためには、run
コマンドを利用しましょう。
[My first application] $ run
このモードでは、サーバはホットデプロイ機能が有効になった状態でサーバが起動します。つまり、リクエストがくるたびに、Play がプロジェクト全体をチェックして、必要なソースコードだけを再コンパイルします。サーバの再起動が必要なときは、それも自動的に行います。
コンパイルエラーが発生したときは、その内容をブラウザ上で直接確認することができます。
サーバを停止させるためには、Ctrl+D
キーをタイプします。サーバが停止して、Play コンソールのプロンプトへ戻ります。
§コンパイル
Play では、compile
コマンドを使って、サーバを起動せずにアプリケーションをコンパイルすることもできます。
[My first application] $ compile
§対話コンソールを起動する
console
コマンドを実行すると、Scala の REPL が起動して、アプリケーションのコードを対話的にテストすることができます。
[My first application] $ console
以下のようにして (例えばデータベースにアクセスする) アプリケーションを scala コンソールから開始することができます。
scala> new play.core.StaticApplication(new java.io.File("."))
§デバッグモード
JPDA (Java Platform Debugger Architecture) のデバッグポートの利用をコンソールの開始時に指定できます。デバッグモードの利用には play debug
コマンドを利用します。
$ play debug
JPDA ポートが利用可能になると、JVM はブート中以下のようなログを出力します。
Listening for transport dt_socket at address: 9999
Note:
play debug
の利用するとデフォルトで JPDA ソケットは9999
ポートでオープンします。set JPDA_PORT=1234
のように環境変数JPDA_PORT
でポートを設定することができます。
§sbt の機能を利用する
Play コンソールは普通の sbt コンソールでもあるため、***triggered execution*** のような sbt の機能も利用することができます。
例えば、~ compile
コマンドを実行すると、ソースコードを変更するたびに必要なソースコードだけが再コンパイルさせることができます。
[My first application] $ ~ compile
コンパイルはソースファイルを変更するたびに実行されます。
もし ~ run
コマンドを実行している場合
[My first application] $ ~ run
開発サーバの稼働中は、コンパイルの実行は有効になります。
同様に、~ test
コマンドを実行すると、ソースコードが変更されるたびにテストが実行されます。
[My first application] $ ~ test
§Play コマンドを直接実行する
Play コンソールを起動せずに、コマンドを直接実行することもできます。例えば、play run
は次のようにも起動できます。
$ play run
[info] Loading project definition from myFirstApp/project
[info] Set current project to My first application
--- (Running the application from SBT, auto-reloading is enabled) ---
[info] play - Listening for HTTP on port 9000...
(Server started, use Ctrl+D to stop and go back to the console...)
アプリケーションを直接起動しているとき、サーバの停止のため Ctrl+D
コマンドを利用すると、すぐに OS のプロンプト画面に戻るでしょう。
§強制クリーニング
何かを間違えて sbt キャッシュが邪魔になったような場合、全ての生成されたディレクトリをクリーニングにするために、OS のコマンドラインツールで clean-all
コマンドを実行します。
$ play clean-all
Next: 好きな IDE で開発する