Develop with pleasure!

福岡でCloudとかBlockchainとか。

Intellij IDEAのPlay2.0用のコンフィギュレーション

Play 2.0を触ってみようとIntellij IDEA上に環境を構築しようとすると、Play 1.x系で有効だった↓のコマンドが使えない。

$ play idealize myProject

1.x系の場合PlayFrameworkのプロジェクトに対し↑のコマンドを実行するだけで、Intellij IDEA用のプロジェクトファイルを自動生成してくれてたんだけど、Play 2.0では、現時点でβ版だからかidealizeってコマンドはまだ存在しないようだ。

まぁ、コマンドはなくともplay 2.0 beta - IntelliJ IDEA configuration (Java) - play-framework | Google Groupsをみる限り、コンフィグレーションは可能なようだったのでやってみる。

まず、playコマンド使ってプロジェクトを新規作成。

$ play new sample

プロジェクトが生成されるので、続いてIntellij IDEAで New Projectを作成。

  1. New Project生成のダイアログで「create project from existing sources」を選択。
  2. 続いて、Project file locationに先ほど生成したsampleプロジェクトのフォルダを指定。
  3. 後はIDEAが対象ソースを自動検索するので、app以下のソースをsrcとして認識するようチェックしてnext&finish。


IDEAのプロジェクトが作成され、モジュールの設定画面を開くと↓のようになってる。


続いて、依存関係のあるPlayのライブラリを追加する。↑のモジュール設定画面のDependenciesタブを開き、以下のplayのライブラリのフォルダとソースフォルダを指定したライブラリを作成する。

  • Jar
    $PLAY_HOME/framework/sbt/boot/scala-2.9.1/play/play/2.0-beta/
    $PLAY_HOmE/framework/sbt/boot/scala-2.9.1/lib/
  • Source
    $PLAY/framework/play/src/main/java/



最後にもう1つ別の依存性を追加する。以下のようにplayコマンドで生成したプロジェクトのtarget/scala-2.9.1/classesをライブラリとして追加する。


これでIDEAを使ってPlay2.0なアプリを開発する環境はできあがり。ちなみにplay newでプロジェクト作る際に、「1 - Create a simple Scala application」ってScalaアプリケーションを選択した場合は、↑の方法で環境構築しようとしても、Javaのソースが存在しないためかIDEAが対象ソースがないと認識して正常にプロジェクトが生成されない。

まー、じきにplayコマンドでIDEAのプロジェクトファイルも生成できるようになるんだろーなーと期待!

2013/2/4追記

Play2.0でIDEAプロジェクトを生成する機能も用意されたので、playコンソールで↓のコマンド叩けばIDEAのプロジェクトファイルが生成される。

$ idea with-sources

(with-sourcesオプション付けると依存ライブラリのソースも一緒に取得してくれる。)