まーぽんって誰がつけたの?

iOS→Scala→インフラなおじさん技術メモ

Play Framework 2.3 For Java ことはじめ #1 開発環境作成編

Play Framework 2.3 For Java 入門記事一覧

要約

簡単にまとめるとJDKactivatorがあればPlay Frameworkは起動する。activatorがScala、sbt、ivy2とか必要なものは落としてきてくれるから。
IDEは色々詰まったScala IDE for eclipseというのがあって、プロジェクトの読み込みも簡単。ただしアプリケーションの実行はコマンドラインからやる(Eclipseからやる方法もあるだろうけど調べてない)。

1. コマンドラインからactivatorでアプリケーションの作成と実行

まずは、typesafe activatorおとしてきて、activatorへPATHを通す。このへんは、公式チュートリアルに書いてある。 activator uiはWebブラウザがコンソール出てきてやるやつなので、コマンドラインからやりたい。

新しいアプリケーションの作成はこう。これは、my-first-appという名前で用意されているplay-javaのサンプルアプリをもとに作るということを意味してる。

$ activator new my-first-app play-java

そして、アプリケーションの実行は、こう。runするだけ。

$ cd my-first-app
$ activator run

そうすると依存関係の解決のために長いことダウンロードみたいのが始まる。結構長い。最後に、[info] play - Listening for HTTP on /0:0:0:0:0:0:0:0:9000と出てくるのでブラウザでlocalhost:9000にアクセス。

またまた、ずーーっとローディング中になる。ターミナル見てみると、[info] Compiling 4 Scala sources and 2 Java sources ..と出ているのでどうやらコンパイルしているみたいである。しかし長いw

さらに待つと、[info] play - Application started (Dev)と出るとブラウザに黄緑のやつが表示された!

f:id:masato47744:20140720012401p:plain

Ctrl + Dでアプリケーションを終了します。

2. Eclipseに取り込む

Eclipseって今までは必要なプラグイン落としてくるのとか色々めんどかったけど、Scala IDEってオールインワンですごくよいです。ちょうめんどいんだろうなーと思ってたらあっさり終了。あと、Eclipseで読み込めるようにするためのコマンドは、activatorが用意していてこれもすてきです。

さっき作ったアプリケーションをEclipseのプロジェクトにするにはこうするだけ。

$ cd my-first-app
$ activator eclipse

あとは、Eclipseから、Import > Existing Projects into Workspaceで、my-first-appのディレクトリを選ぶだけ。ちょうかんたん。

Eclipseで修正した内容はEclipse上で自動的にビルドされる。ただ、Javaの予測変換ができないからなんでだーって思ってたけど、Qiita で、

Tips:Javaも使いたい方は、デフォルトだとJavaのコード保管が無効になっているので、
   環境設定->Java->Editor->Content Assistant->Advancedで
   Javaを有効にする必要があります。

なるほどね。確かにこれで予測変換されるようになりました!

3. 編集してビルドしてブラウザへの反映

修正するごとに、ボタン押してビルド走らせるとか、アプリケーションを一旦ストップさせなきゃいけないとかだと困るんだけど、さすがその辺りもモダンな感じでした。
まず、Eclipseは普通に自動でBuildが走りますので文法エラーとかはすぐに指摘されます。これは当たり前か。で、修正をしたあと、ブラウザをリロードするだけで、コンパイルが走って変更が反映されます。

さらに、runを実行するときに、runの前に~をつけて実行すると、ファイルの変更を検知して自動で再コンパイルを裏でやっておいてくれるので、ブラウザでリロードしたときの時間を短縮できてよいですね。

まとめ

Eclipseの環境構築ってめっちゃめんどくさいイメージだったけど、思ったよりも簡単だった。Xcode落としてきたら開発始まるみたいな感じ。こういうAll in oneなIDEだと入りやすいですね。

思わず興奮してしまう(自分だけ)第2回はこちらです -> Play Framework 2.3 For Java ことはじめ #2 テンプレートエンジン編