Hatena::ブログ(Diary)

tomotaro1065の日記 Twitter

2011-08-08

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を動かしています。

Emacsviで開発するという手もあるかもしれませんが、コード補完やデバッグのことを考えると、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]ボタンを押下します。

f:id:tomotaro1065:20110808210511p:image

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

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


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

モジュールです。

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

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

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

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

f:id:tomotaro1065:20110808210512p:image

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

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

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

f:id:tomotaro1065:20110808210513p:image

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

f:id:tomotaro1065:20110808213643p:image

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

めでたし。めでたし。

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

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

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

<Playインストールフォルダー>/support/eclipse/org.playframework.playclipse_x.x.x.jareclipse/dropinsフォルダーにコピーして、Eclipse再起動するだけです。

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

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

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

ikeike443ikeike443 2011/08/08 21:41 crudとsecureを追加した後、再度play eclipsifyすればビルドパスを通してくれますよ!

tomotaro1065tomotaro1065 2011/08/08 21:59 えっ?まじっすか?
おぉ〜。再度play eclipsifyして、再度インポートしなおすと、見事にビルドエラーが消えているではありませんか。
Play。さすがっす。ちょっとみくびっていました。すんません。
ikeike443さん、ありがとうございます。m(__)m

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

リンク元