Play と共に作業することは簡単です。Play が自動的にソースファイルに加えられた変更をコンパイルしてリフレッシュするので、高性能な IDE は必要ありません。シンプルなテキストエディタを使って簡単に作業することができます。
とは言え、近頃の Java IDE は自動補完、逐次コンパイル、リファクタリングやデバッグのアシストと言ったクールで生産的な機能を提供します。Play は Netbeans, IntelliJ IDEA と Eclipse プラットフォームをサポートします。
Play は Eclipse の設定を簡易化するコマンドを提供しています。Play アプリケーションを動作する Eclipse プロジェクトに変換するには、 eclipsify
コマンドを使用してください:
# play eclipsify myApp
その後、 File/Import/General/Existing project... メニューから Workspace にアプリケーションをインポートする必要があります。
classpath の変更のような重要な変更をアプリケーションへ加えるときは、設定ファイルを再生成するために eclipsify
を再度実行します。
チームで作業しているときは Eclipse 設定ファイルをコミットしないこと!
生成した設定ファイルにはフレームワークをインストールした場所への絶対参照が含まれています。これはあなた自身のインストール作業に特化したものです。チームで作業するときは、それぞれの開発者は自分の Eclipse 設定ファイルを個人で管理しなければなりません。
eclipsify
コマンドはアプリケーション用にいくつかのランチャを生成します。例えば、 Nice app と呼ばれるアプリケーション (上記スクリーンショット参照) 上で eclipsify
を実行すると、@eclipse/@ folder 内に以下のランチャを作成します:
Nice app.launch
- 右クリックから Run As > Nice app を選択することでアプリケーションを実行するために使用できる、 play test
コマンドと等価なメインのランチャTest Nice app.launch
- やはり右クリックから Run As > Test Nice app を選択して実行する、 play test
と等価なテストランチャConnect JPDA Nice app.launch
- ランチャファイルを右クリックして Debug As > Connect JPDA Nice app を選択することで、実行済みの Play インスタンスに対するEclipse デバッガに接続し、デバッグセッションを開始する JPDA デバッグセッションコネクタです。デバッグセッションを停止してもサーバは停止されません。更に、Play には HTML ビューテンプレート、 application.conf
そして routes
ファイル用のエディタを提供する Eclipse プラグインが含まれています。
プラグインをインストールするには、 $PLAY_HOME/support/eclipse
から $ECLIPSE_HOME/dropins
に JAR ファイルをコピーします。
Play は Netbeans の設定を簡易化するコマンドを提供しています。既存のアプリケーションを妥当な Netbeans プロジェクトに変換するには、 netbeansify
コマンドを使用してください:
# play netbeansify myApp
その後は、そのアプリケーションをそのまま Netbeans プロジェクトとして開くことができます。
アプリケーションを開始するには、標準の Run ボタンを使用してください。アプリケーションが起動されていれば、いつでも Debug ボタンを使ってデバッグセッションをアタッチすることができます。デバッグセッションを終了してもサーバは止まりません。
classpath の変更のような重要な変更をアプリケーションへ加えるときは、設定ファイルを再生成するために netbeansify
を再度実行します。
チームで作業しているときは nbproject/
ディレクトリをコミットしないこと!
生成した設定ファイルにはフレームワークをインストールした場所への絶対参照が含まれています。これはあなた自身のインストール作業に特化したものです。チームで作業するときは、それぞれの開発者は自分の Netbeans 設定ファイルを個人で管理しなければなりません。
Play は IntelliJ IDEA の設定を簡易化するコマンドを提供しています。既存のアプリケーションを妥当な IntelliJ IDEA モジュールに変換するには、 idealize
コマンドを使用してください:
# play idealize myApp
単一モジュールプロジェクトを作成する場合は、IntelliJ IDEA にて以下を実行してください。
play new
コマンドを使って Play プロジェクトを作成する。play idealize
コマンドを使って IntelliJ IDEA モジュールを作成する。.ipr
ファイルを選択する。実行設定を追加するには:
play.server.Server
を入力する。-Dapplication.path="."
を入力する。IntelliJ において Play をテストモードで実行するには:
$PLAY_HOME/modules/testrunner/lib/play-testrunner.jar
を選択して OK をクリックする。チームで作業しているときは .iml ファイルをコミットしないこと!
生成した設定ファイルにはフレームワークをインストールした場所への絶対参照が含まれています。これはあなた自身のインストール作業に特化したものです。チームで作業するときは、それぞれの開発者は自分の IntelliJ IDEA 設定ファイルを個人で管理しなければなりません。
シンタックスハイライトと自動補完を有効にするために $PLAY_HOME/support/textmate.zip
にある Textmate バンドルをインストールします。このバンドルはコントローラとビューの行き来も容易にします。
Textmate に影響された snipMate プラグインは、 Vim にキーワード自動補完を提供します。Play は HTML と Java のスニペットファイルを提供しています: これらを使用するためには、snipMate をインストールして $PLAY_HOME/support/vim/*.snippets
を ~/.vim/snippets/
にコピーします。
Play アプリケーションは標準的な Java アプリケーションであり、お好みのエディタを使って作業をするために特定のプラグインも必要としません。ただし、その場合は Play がどのように動作しているかについて、ほんのちょっとの知識を必要とします:
Play アプリケーションのクラスパスは以下の通り (この順で) 構築されます:
conf/
ディレクトリ$PLAY_PATH/framework/play-$version.jar
lib/
ディレクトリ内のすべての JAR ファイル$PLAY_PATH/framework/lib/
ディレクトリ内のすべての JAR ファイルTip
モジュールを利用する場合は、すべてのモジュールライブラリも同様に ( $module/lib/
ディレクトリから) クラスパスに追加する必要があります。 からモジュールライブラリをクラスパスに追加する必要があります。
Play アプリケーションを開始するには、 play.server.Server
クラスを実行するだけです。Play は実行するアプリケーションの場所を見つけるために "application.path"
システムプロパティを使用します。通常、以下のようにしてこの値を渡します:
java -Dapplication.path="/app/path"…
HotSwap リロードを有効にするためには、Java agent を play.jar
ライブラリに組み込む必要があります。通常は以下のようにします:
java -javaagent:"$PLAY_PATH/framework/play.jar" …
これは必須ではありませんが、これが利用可能であるとき、クラスのリロードが高速になるでしょう。
Java ソースが変更されたとき、Play は自動的に Java クラスをリロードします。しかし、Java はクラスのリロードを完全にサポートしていないので、JDPA デバッグは簡単に混乱します: コードをステップインしたときに、ブレークポイントの設定に失敗したり、デバッガが間違った行で止まるかもしれません。
これを避けるよりよい方法は、コードを変更した後にデバッグセッションを新規に開始することです。幸運なことに、JPDA は JVM を再起動することなく、いつでもデバッガを接続したり、切断することができます。
以上より、デバッグにおける正しいワークフローは次のようになります:
このワークフローを使用することによって、JVM にロードされたコードとデバッガを常に同期させることができます。
次は: 'Hello World' チュートリアル です。