Play!もEclipseで行こう!

誤操作してしまって、せっかく書いた記事が消えてしまいました。(>_<)

気を取り直してもう一回書いてみる。

先日、Play! framework勉強会に行ってきました。

Play! frameworkはMVCフレームワークやORM(JPA/Hibernate)だけではなく、アプリケーションサーバ(JBoss Netty)やデータベース(H2)、更には依存性管理(Apache Ivy)やユニットテスト(JUnit/Selenium)、ビルド環境(Eclipse JDT)までも入ったオールインワン環境です。

ですので、Playの他にはテキストエディターさえあれば開発を開始することが出来ます。

PlayのムービーでもTextMateというエディターでサクサクと開発を進めています。

Macな人がPlayで開発する際にはTextMateデファクトになりそうな感じですね。

ですが、私のPCはWindows7。で、VM上のUbuntuでPlayを動かしています。

Emacsやviで開発するという手もあるかもしれませんが、コード補完やデバッグのことを考えると、EclipseNetBeansIntelliJなどのIDEを使うのが良いと思います。

私的にはEclipseに慣れているので、とりあえずEclipseでPlayのチュートリアルYABEをやってみました。

play new yabe
play eclipsify yabe

playのeclipsifyコマンドはEclipseのプロジェクトファイル等を作ってくれるコマンドです。

後は、Eclipseを起動してインポートするだけです。

これだけで、Playのソースコードを参照したり、Playのソース内をトレースしたり、オブジェクトの中身を参照したりすることが出来ます。

試しに、Applicationクラスの継承元のControllerにCtrlキーを押しながらマウスを近づけてみてください。

マウスポインターが手の形に変わって、Controllerにアンダーラインが表示されましたか?

クリックしてみましょう。

Controllerクラスが表示されたでしょうか?

ブレークポイントを張ったり、トレースも出来ます。

まずは、下記のコマンドでPlayを起動しておきます。

play run yabe

次に、Eclipseで[Run]-[Debug Configrations...]でダイアログを開き、[Remote Java Application]を選択し、左上の[+]ボタンを押下して、[Debug]ボタンを押下します。

適当なところ(例えばApplication.indexメソッド)にブレークポイントを張り、ブラウザをリフレッシュしてみましょう。

ブレークポイントで止まりましたか?Play framework内のソースコードもトレースできます。


あと、EclipseでPlayを触っていて気持ち悪かったことがあります。

モジュールです。

YABEでもCRUDとSecureモジュールを使用していますが、これが気持ち悪いです。

モジュールは/modulesフォルダー内にアプリケーションとほぼ同じフォルダー構成でインストールされます。

Play!はこのフォルダーがモジュールであることを知っているので、問題ないのですが、Eclipseがモジュールの位置を知りません。

ですので、Eclipse的にはビルドエラーになってしまいます。

この状態でも、デバッグ機能は正常に動きますので、何の問題もないのですが、やっぱり気持ち悪いですよねぇー。

下記のように各モジュールappフォルダーをソースリンクすることで解決することが出来ました。

1. パッケージエクスプローラでyabeを選択し、右クリックで[Build Path]-[Link Source...]メニューを選択します。

[Browse]ボタンで各モジュールのappフォルダーを指定し、[Foler name]に各モジュール名を入力して[Finish]ボタンを押下します。

これでビルドエラーがなくなりました。

めでたし。めでたし。

@ikeike443さんのコメントにより、解決しました。

再度play eclipsifyをして、再度Eclipseにインポートし直すだけで自動的にモジュールもビルドパスに追加されて、ビルドエラーがなくなりました。@ikeike443さんありがとうございます。m(__)m

あと、Play!にはPlayclipseというEclipseプラグインも同梱されています。

/support/eclipse/org.playframework.playclipse_x.x.x.jarをeclipse/dropinsフォルダーにコピーして、Eclipseを再起動するだけです。

[Play!]メニューが追加されており、いくつかのツールボタンが追加されていればインストール成功。

ControllerやModel、Viewの雛形の作成やジャンプなどが出来るようです。

んー。。。でも、まぁ、まだちょっと微妙な感じですね。。。