= Play/ScalaをEclipseで使う = 以下はplay-1.2.3 + scala-0.9.1で確認。 eclipse用のscalaプラグインとしては2011/8/30時点の最新。 == 参考 == * [[http://playdocja.appspot.com/documentation/1.2.2/ide|お好みの IDE を設定しよう]] * [[http://d.hatena.ne.jp/garbagetown/20100429/1272811657|play! on eclipse]] == eclipse用プラグイン ==   suppoer/eclipseフォルダにある.jarファイルをeclipseのdropinsフォルダに格納して、eclipseを再起動すると、 eclipseに「Play!」メニューが現れる。playclipseプラグインというらしい。  しかし、これは大したことはできない。入れなくてもよい。 == eclipseプロジェクトにする == 途中までは「Scala+IntelliJで使うための準備」と同じ。 elipse用にするには {{{ play eclipsify myApp }}} とする。これでeclipse用の.projectファイル等が生成される。 次に、eclipseの「File/Import/General/Existing Projects into Workspace」でワークスペースに入れる。 === ビルドパス等の確認 === プロジェクトのビルドパスを確認してみると、playのライブラリが指定されていることがわかる。 === エラーの発生 === ==== Error in Scala compiler: typeConstructor inapplicable for ==== [[http://d.hatena.ne.jp/k4200/20110807/1312737091]]によると、scala-compilerがライブラリパスに含まれていないせいだという。 しかし、ビルドパスを見てみるとちゃんと含まれている。 一度、プロジェクトメニューからcleanをしてみると、このエラーは解消する。 ==== object Application is not a member of package views ==== app/(default package)/controllers.scalaというソースを見てみると {{{ package controllers import play._ import play.mvc._ object Application extends Controller { import views.Application._ def index = { html.index("Your Scala application is ready!") } } }}} Application及びhtmlが未定義になっているが、これらはplayが実行時にviewsディレクトリ以下のファイルから勝手に生成するものであるので、eclipse上では常にエラーの状態のままになる。 ただし、生成物はtmp/generated以下に格納されるので、一度でもplayを実行した後に、このディレクトリをライブラリとしてかソースとして取り込めば未定義は消える。具体的には以下のいずれか。 * tmp/classesを「Add Class Folder」でライブラリに追加する。 * tmp/generatedを「Add Folder」でソースに追加する。 再度、プロジェクトのcleanを行う。 == Eclipse上での実行 == eclipsifyを行ったことによって、自動的に実行用とテスト用のRun Configurationができているので、 これを選択して起動すればよい。上述した未定義エラーを解消しなくても実行できる。