連載
» 2013年01月07日 18時00分 UPDATE

Scala+Play 2.0でWebアプリ開発入門(3):便利なPlayコンソールとEclipseでのデバッグ方法 (1/3)

2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、さまざまなコマンドが使えるPlayコンソールの使い方と、Eclipse上でのPlayアプリのデバッグ方法を一から順に解説します

[中村修太,クラスメソッド]

 前回の記事「Play 2.0のアーキテクチャとディレクトリ構成の基礎知識」では、Playアプリの全体的なアーキテクチャ、ファイル構成、各ディレクトリの役割などについて紹介しました。

 今回は、Playアプリの操作を行うPlayコンソールについての解説と、Playアプリ上でのデバッグ方法を紹介します。

 第1回記事では、「eclipsify」コマンドを使ってPlayアプリケーションをEclipseプロジェクト化し、Eclipse上でソースファイルを編集しました。今後も本記事のサンプルコードは、Eclipseで編集していきますので、まだセットアップができていない場合は第1回記事を参照してEclipseをセットアップしてください。

 また、今回は第2回記事で作成した「gyro」プロジェクトをベースに解説を行いますので、本記事の通りに進める場合は、前回の記事を参考にPlayプロジェクトを作成しておいてください。

Playコンソールとは

 以前の連載から何度か使っていますが、作成したPlayアプリのディレクトリ内で「play」コマンドを入力すると、Playコンソールが使えます。

 Playコンソールは、Scalaのビルドツール「sbt(Simple Build Tool)」をベースとした開発用のコンソールで、Playアプリの開発やビルドを対話的に行うことをサポートします。

 これを使うと、IDE/エディタでソースを修正しながらコンソールでビルドやテストを実行、そしてWebブラウザで実際の画面を確認といった具合に、素早い修正・テスト・動作確認が可能です。

Playコンソールを動かしてみる

 ではgyroディレクトリ内でPlayコンソールを起動してみましょう。

% cd gyro
% play
[info] Loading project definition from /path/your/gyro/project
[info] Set current project to gyro (in build file:/path/your/gyro)
       _            _ 
 _ __ | | __ _ _  _| |
| '_ \| |/ _' | || |_|
|  __/|_|\____|\__ (_)
|_|            |__/ 
             
play! 2.0.4, http://www.playframework.org
> Type "help play" or "license" for more information.
> Type "exit" or use Ctrl+D to leave this console.
[gyro] $ 
Playコンソールの起動

 この状態で「exit」と入力するか[Control]+[D]キーを入力すると、Playコンソールを停止できます。また、「run」コマンドを使ってPlayアプリを実行している場合、[Control]+[D]キーを入力するとアプリを停止してPlayコンソールに戻ることができます。

 Playコンソールではいろいろなコマンドが使えます。連載第1回や第2回で、「run」「test」コマンドを使いました。これ以外にもいろいろなコマンドがあります。

 例えば、アプリの起動でなくコンパイルを実行するためには下記の「compile」コマンドを実行します(※[tab]キーで補完も可能です)。

[gyro] $ compile 
「compile」コマンド

 「console」コマンドを使えば、PlayコンソールからScalaのREPLを使い、Playアプリのコードを動かせます。

[gyro] $ console
scala >
「console」コマンド

 通常のREPLと違い、Play関連のクラスパスと自分のアプリのクラスパスが設定された状態になります(「:cp」コマンドを実行すると、設定されているクラスパスが表示されます)。そのため、下記のようにScalaテンプレートを呼び出し、ビューも確認できます。

scala> views.html.index.render("Hello Play from play console")
res2: play.api.templates.Html = 
<!DOCTYPE html>
:
:
</html>

 サーバを起動していないにもかかわらず、ビューの動作が確認できました。サーバ上でアプリを動かさなくても、Playアプリのビュー部分をテストすることも可能です。

Playコンソールでよく使うコマンド8選

 Playコンソールでよく使うコマンドを紹介します。

【1】run

 Playアプリを起動します。なお、通常のコンソールから起動したい場合は下記のように「play run」と入力します。

% play run
playコンソールでなく、通常のコンソールからPlayアプリを起動する

 アプリケーションを停止するときは[Control]+[D]キーを入力してください。

【2】start

 このコマンドもPlayアプリを起動するコマンドですが、「run」とは違いバックグラウンドで起動します。こちらも「play start」と通常のコンソールから入力すれば直接使えます。

【3】compile

 ソースファイルのコンパイルを行います。playはソースファイルの修正後にアクセスするとその時点で再コンパイルが実行されるので、あまり使うことはないかもしれませんが、サーバが起動していなくても任意のタイミングでコンパイル可能です。

【4】test/test-only

 「test」ディレクトリ以下においてあるすべてのテストクラスを実行します。現在のgyroプロジェクトではテストクラスがないので実行はされませんが、テストクラスがある場合、テストが実行されて結果がコンソールに出力されます。

[gyro] $ test
[info] No tests to run for test:test
[success] Total time: 0 s, completed 2012/12/09 17:41:10

 また、「test-only」コマンドを使った場合、引数としてテストクラス名を指定すればそのテストだけが実行されます。

【5】eclipsify/idea/netbeans

 このコマンドも本連載で何度か使ってきました。playプロジェクトをEclipseプロジェクト化します。「with-source」オプションをtrueにすれば、playのソースも併せて設定されます。

[gyro] $ eclipsify with-source=true
[info] About to create Eclipse project files for your project(s).
[info] Successfully created Eclipse project files for project(s):   

 ちなみに、IntelliJを使う場合は、「idea」コマンド、NetBeansを使う場合は「netbeans」コマンドを使えば、Playアプリを各IDEで開発可能になります。

【6】clean

 ビルド時に作成されたソースやタスクキャッシュ、クラスファイルなどを削除します。

【7】reload

 Build.scalaやplugins.sbtを修正してプロジェクトの設定を変更した場合、設定を読み込み直します。

【8】update

 依存ライブラリの更新をチェックし、必要に応じてライブラリのダウンロード、設定を行います。Build.scalaで依存ライブラリを追加/変更した場合、このコマンドを実行して依存関係の更新を行ってください。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。