Macに、Play Framework 2.5 (Java)の開発環境をEclipseで構築します。
環境
- macOS 10.12 Sierra
- Play 2.5.10
- JDK 1.8.0
- Eclipse 4.6 Neon
事前準備
事前に以下の設定をしておく。
- HomeBrewのインストール
- JDK 1.8のインストール
- Eclipse 4.6のインストール
Typesafe Activatorのインストール
brewコマンドでTypesafe Activatorをインストールする。
$ brew install typesafe-activator
インストール後、下記コマンドで正常インストールを確認する。
$ activator -help
Usage: activator [options]
...
新規プロジェクトの作成
activatorを使用してプロジェクトを作成する。
カレントディレクトリにディレクトリが作成されるため、任意のディレクトリに移動した後、activator new
コマンドを実行する。
$ activator new
使用するテンプレートの入力が求められるため、5) play-java
を選択する。
Fetching the latest list of templates...
Browse the list of templates: http://lightbend.com/activator/templates
Choose from these featured templates or enter a template name:
1) minimal-akka-java-seed
2) minimal-akka-scala-seed
3) minimal-java
4) minimal-scala
5) play-java
6) play-scala
(hit tab to see a list of all templates)
> 5
プロジェクト名の入力が求められるため、任意の名前(例:HelloWorld
)を入力する。
Enter a name for your application (just press enter for 'play-java')
> HelloWorld
コマンド終了後、カレントディレクトリにプロジェクトが作成されていることを確認する。
$ ls
HelloWorld
$ ls HelloWorld
LICENSE app build.sbt libexec public
README bin conf project test
Eclipseへの取り込み設定
プロジェクトをEclipseに取り込めるよう設定する。
project/plugins.sbt
をテキストエディタで開き、末尾に以下を追加する。
addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "4.0.0")
build.sbt
をテキストエディタで開き、末尾に以下を追加する。
EclipseKeys.preTasks := Seq(compile in Compile)
EclipseKeys.projectFlavor := EclipseProjectFlavor.Java
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources)
プロジェクトディレクトリ内でcomplieとeclipseコマンドを実行する。
$ cd HelloWorld
$ activator compile
$ activator eclipse
Eclipseへの取り込む
Eclipseを起動し、ファイル>インポート>一般>既定のプロジェクトをワークスペースへ にて作成したプロジェクトを取り込む。
取り込み後、エラーが出ていないことを確認する。
実行
- 実行>外部ツール>外部ツールの構成
- プログラムを選択し、右クリック>新規
- 以下のように設定する。
- 名前:activator run
- ロケーション:/usr/local/bin/activator
- 作業ディレクトリ:${project_loc}
- 引数:run
4. 適用、閉じる
5. パッケージ・エクスプローラーでプロジェクトを選択する。
6. 'activator run'実行する。
7. 起動後、 http://localhost:9000 にアクセスする。
実行停止
- コンソール・ビューにある終了ボタンを押下して終了する。
デバッグ実行
activator 起動
- 実行>外部ツール>外部ツールの構成
- プログラムを選択し、右クリック>新規
- 以下のように設定する。
- 名前:activator debug
- ロケーション:/usr/local/bin/activator
- 作業ディレクトリ:${project_loc}
- 引数:-jvm-debug 9999 run
- 適用、閉じる
- パッケージ・エクスプローラーでプロジェクトを選択する。
- 'activator debug'を実行する。
Eclipseのデバッグ起動
- 実行>デバッグの構成
- リモートJavaアプリケーションを選択し、右クリック>新規
- 以下のように設定する。
- プロジェクト:HelloWorld
- 接続プロパティ:localhost
- ポート:9999
- デバッグ
- 任意箇所(HomeController#indexなど)にブレイクポイントを設定し、デバッグできることを確認する。
トラブルシューティング
activator run時、以下のエラーが発生する。
‘activator runの起動’ に問題が発生しました。変数が空の選択を参照しています: ${project_loc}
パッケージ・エクスプローラーでプロジェクトを選択できていないかアクティブでないため。
パッケージ・エクスプローラーでプロジェクトを再選択する。
activator run時、以下のように「[0m
」といったコンソール出力になる。
[0m[[0minfo[0m] Loading project definition from /Users/xxx/Desktop/develop/HelloWorld/project[0m
[0m[[0minfo[0m] Set current project to HelloWorld (in build file:/Users/xxx/Desktop/develop/HelloWorld/)[0m
[35m--- (Running the application, auto-reloading is enabled) ---[0m
[[37minfo[0m] p.c.s.NettyServer - Listening for HTTP on /0:0:0:0:0:0:0:0:9000
[32m(Server started, use Ctrl+D to stop and go back to the console...)[0m
ANSIエスケープシーケンスが有効になっていないため。
ヘルプ>Eclipseのマーケットプレース から、「ANSI Escape in Console」というプラグインをインストールする。