Java
Eclipse
PlayFramework

EclipseでPlay Framework 2.6 (Java) の環境構築

More than 1 year has passed since last update.

Play Framework 2.6 (Java) の新規プロジェクトを生成して、Eclipseにインポートするまでの手順まとめです。v2.5.xまで使っていたactivatorコマンドはEOLを迎えたので、v2.6.x以降はsbt1を直接使います。

事前条件

  • Java 1.8
  • sbt v0.13.13以降
  • Eclipse インストールされていること

sbtはMacの場合Homebrewで、Windowsの場合ここからでインストールしてください。既にsbtが入っている場合、aboutオプションでバージョン確認が可能です。

$ sbt about
=> [info] This is sbt 1.0.4

プロジェクト作成

sbt new [テンプレート名] で新規プロジェクトを作成します。プロジェクト名やScalaのバージョンなどを聞かれますが、何も入れずにEnterを押せば[]内のデフォルト値が採用されます。

$ sbt new playframework/play-java-seed.g8
[info] Set current project to play (in build file:〜〜〜)

This template generates a Play Java project

name [play-java-seed]:
organization [com.example]:
scala_version [2.12.3]:
play_version [2.6.7]:
sbt_version [1.0.2]:

sbt runでアプリが起動し、http://localhost:9000 から稼働確認ができます(初回実行の場合、ライブラリを落とすので時間がかかる)。

Eclipse用の設定追加

project/plugins.sbtにプラグイン設定を追加。

plugins.sbt
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.2.2")

次に、build.sbtにEclipse用の設定を追加。

build.sbt
EclipseKeys.preTasks := Seq(compile in Compile, compile in Test)
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)

Eclipseにインポート

Eclipse用の.classpathと.projectファイルを生成。

$ sbt eclipse

これでEclipseにインポート (File > Import > Existing Projects into Workspace) できるようになります。ただ、こうしてインポートした状態だと、view (*.scala.html) から生成されたクラスをEclipseが参照しないのでControllerでコンパイルエラーが出ます。これを解消するため、追加でビルドパスを設定します。

  1. Eclipse上でプロジェクトを右クリック > Build Path > Configure Build Path...
  2. LibraryタブからAdd Class Folderを選択
  3. 開いたダイアログでtarget/scala-2.12/classesにチェックを入れてOK

スクリーンショット 2017-12-02 13.47.20.png


  1. Scala向けのビルドツール。activatorは内部的にsbtを利用していた