Scalatra w/ IntelliJ IDEAでのデバック設定
ScalatraをIntelliJで触り始めました。
デバックするのに少しはまってしまったのでその時のメモ。
Scalatraのプロジェクトを作るのは、本家サイトにあるように必要なツール類をインストールし、
>g8 scalatra/scalatra-sbt
を実行すれば簡単に作れます。
Installation | Scalatra
IntelliJ IDEAを使う場合もplugins.sbtに
addSbtPlugin("com.github.mpeltonen" % "sbt-idea" % "1.6.0")
を追加して、sbt実行後
>gen-idea
を叩けばIntelliJでプロジェクトを開けるようになります。
この後、ここにあるようにすれば大丈夫かと思ったら
IDE Support | Scalatra
こんなエラーが出てポート5005で起動できませんでした。
※ちょっと調べるとWindowsだからっぽいんのですが原因は不明
How To Debug With Typesafe Activator Play Framework Using Eclipse » Andika Nugraha
このページを参考に、
set "JAVA_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005"
でコマンドプロンプト上でJAVAの実行環境を設定してあげると、sbt実行で
Listening for transport dt_socket at address: 5005
と5005でListenしてくれるようになります。
この後はIDEの設定で、Remoteの実行設定をしてあげれば、実行後
Connected to the target VM, address: 'localhost:5005', transport: 'socket'
と表示され5005ポートへの接続が確立しました。
これで無事IDE上でのデバックが可能となりました。
参考にしたサイトはPlayとEclipseという内容でしたが、特にIDEとフレームワークの違いはなく
SBTを使っていたら同じ対応でできるはずです。