便利なPlayコンソールとEclipseでのデバッグ方法:Scala+Play 2.0でWebアプリ開発入門(3)(3/3 ページ)
2.0からScalaに対応したWebアプリ開発の人気軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載。今回は、さまざまなコマンドが使えるPlayコンソールの使い方と、Eclipse上でのPlayアプリのデバッグ方法を一から順に解説します
EclipseでPlayアプリのデバッグをする
アプリケーションの開発をしていく上でデバッグ処理は必須です。Eclipseでは任意のソース上でbreak pointを設定して、さまざまな値や動作を確認します。
ここではEclipseを用いてPlayアプリのデバッグを行ってみましょう。まず、Playコンソールをデバッグモードで起動します。デバッグモードで起動するには、「play」コマンドの後に「debug」を指定します。
$play debug Listening for transport dt_socket at address: 9999 //デバッグ用ポートは9999番で起動する : : [gyro] $
こうすることでデバッグ用の接続ポートが9999番で待ち受けられます。ついでに「run」コマンドを実行してPlayアプリを起動しておいてください。
[gyro] $ run --- (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...)
次にEclipseでデバッグ処理用にbreak pointを設定しましょう。ほとんど止める個所もないのですが、「app/controllers/Application.scala」の「index」関数で実行を止めるようにします。
break pointを設定したらプロジェクトディレクトリで右クリックし、[Debug As]→[Debug Configurations...]を選択します。
configurations作成用のダイアログボックスが開くので、デバッグ用設定を作成しましょう。ダイアログボックス左上の新規作成ボタンを押して、下記画像のようにHostとPortを指定してDebugボタンを押します。
これでデバッグ用設定は完了です。
configurationsの設定が終わったらWebブラウザでPlayアプリにアクセスしてみます。
「http://localhost:9000/」をWebブラウザで開きましょう。先ほど設定したbreak pointで処理が中断されます。
ステップ操作や変数の内容確認、任意の場所で例外を発生させたりなど、通常のEclipseデバッグ時と操作方法は同じです。
Cotrollerのbreak pointでステップインをしてみました。Play内部のソースも確認しながら、ステップごとに処理を進めていけます。
これならplay内部の処理も確認しながらデバッグできますね。
ドキュメントや参考サイトも見てみよう
今回はPlayコンソールの基本的な使い方とEclipseでのデバッグ方法を紹介しました。
Playコンソールはsbtをベースにしています。sbtはとても高機能なビルドツールで、今回紹介した以外にもさまざまな機能を持っています。ドキュメントや参考サイトを見れば、さらに便利な使い方ができると思います。
詳細な解説については、「PlayドキュメントのPlayコンソール」を御覧ください。
なお、SBTについては「はじめるSBT」が基本から非常に詳しく解説しています。併せてご確認ください。
次回は、Play frameworkのコントローラを紹介する予定です。
- Play2プラグインのインストールと使用と新規開発
- Play2+nginx/Akka/WebSocketで高速双方向通信
- Play2(+JavaScript)アプリを高速化、最適化する4つのテクニック
- Play2におけるJSONおよびCoffeeScriptの使い方
- Playのグローバルな設定&spec2でBDDなテスト
- Play 2.xからMySQLに接続してAnormでCRUD操作するには
- Play 2.xのScala Templatesでビュー&フォーム操作
- Play 2.1にアップグレードしてコントローラを使いこなす
- Playコントローラ/Action/HTTP Routerの基本的な使い方
- 便利なPlayコンソールとEclipseでのデバッグ方法
- Play 2.0のアーキテクチャとディレクトリ構成の基礎知識
- Play framework 2.0の概要/5つの特徴とScalaで作るための環境構築
著者プロフィール
中村修太(なかむら しゅうた)
クラスメソッド勤務の新しもの好きプログラマです。昨年、東京から山口県に引っ越し、現在はノマドワーカーとして働いています。好きなJazzを聴きながらプログラミングするのが大好きです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- スケーラブルで関数型でオブジェクト指向なScala入門
Scalaの特徴を紹介し、基本構文や関数、クラスなど、Scalaの基本的な機能について解説する入門連載 - Javaの常識を変えるPlay framework入門
サーブレット/JSPを基にする重厚長大なJavaのWeb開発のイメージを変える軽量フレームワーク「Play」について解説し、Webアプリの作り方を紹介する入門連載