Liftの入門(intellijでの開発環境編)
※2011/4/17追記 jrebelプラグインの設定がもれていたので追記しました。
liftで開発環境を整える際に知らないと手間がかかるのでまとめておきます。ここではintellijを利用します。
IDEはintellijの他にはEclipse、Netbeans、ensimeなどがあります。ビルドツールには、sbtとmavenがあります。昔はmavenでしたが、最近はsbtの利用が推奨されているようです。
今回構築する環境のバージョンは以下の通りです。
intellij:10
sbt:0.74
lift:2.3
scala:2.8.1.final
注:OSはMacを利用しています。Windows環境とは多少異なる部分がありますがWindowsでも構築したとこがありますが問題ないと思います。
intellijのダウンロード
intellijを以下のサイトからダウンロードします。
http://www.jetbrains.com/idea/download/index.html
intellijにプラグインのインストール
intelljでIntellij IDEA>Preferencs>Pluginsを選択します。
PluginsのAvailableタブを開いて、検索窓にscalaと入力して以下のプラグインをインストールします。
jrebelプラグインもインストールします。
※jrebelとはアプリケーションサーバ(jettyとか)を再起動せずにコードに変更があった場合に自動で再読み込みをしてくれるツールです。
jrebelの入手とjrebelプラグインの設定
jrebelはhttp://www.zeroturnaround.com/jrebel/からダウンロードします。
jrebelプラグインの設定をします。メニューのIntelliJ IDEA>Preferencesでjrebelを選択して上記URLから入手したjrebel.jarのパスを指定します。
liftのブランクプロジェクトの入手
liftのサイト(http://liftweb.net/)からブランクプロジェクトをダウンロードします。
アーカイブを解凍するといくつかプロジェクトが入っています。DB接続をしたいならlift_basicかlift_xhtml辺りがいいと思います。lift_blankだとDB接続の設定がされていないです。
ブランクプロジェクトの修正
intellijで取り込めるようにするにはいくつか追加/修正が必要です。
1.sbt-idea-pluginの設定
intellijで利用するために必要なプラグインをダウンロードする設定を行います。
[プロジェクト]/project/plugins/Plugins.scalaを作成します。
Plugins.scala
import sbt._ class Plugins(info: ProjectInfo) extends PluginDefinition(info) { val sbtIdeaRepo = "sbt-idea-repo" at "http://mpeltonen.github.com/maven/" val sbtIdea = "com.github.mpeltonen" % "sbt-idea-plugin" % "0.4.0" }
sbt-idea-pluginは現在0.4.0が最新です。0.5が開発中みたいです。
project/build/LiftProject.scalaの修正
intellijに取り込むための設定を追加します。
【修正前】
class LiftProject(info: ProjectInfo) extends DefaultWebProject(info) {
【修正後】
class LiftProject(info: ProjectInfo) extends DefaultWebProject(info) with IdeaProject {
sbtを利用してintellijプロジェクトの作成
ターミナルでプロジェクトの直下に移動します。
sbt.shがあります。windowsの場合でもsbt.batがあるので同様に動きます。
$sbt (sbtが起動)
>update
>idea
ideaと入力した際に「ideaなんて知らないぜ!」と言われる場合は、ブランクプロジェクトの修正がうまくいっておらず、プラグインがダウンロード出来ていない可能性があります。設定を見直してください。それでもダメならとりあえずsbtで「clean」をして、再度「update」をしてみてください。もしかしたらうまくいくかもしれません。
プロジェクトの取り込み
プロジェクトを取り込むには、intellijでFile>OpenProjectから作成したプロジェクトを選択します。
しばらくすると取り込まれます。この際に時々エラーダイアログが出力されることがありますが問題ないようです。いくつかソースを開いてみてエラーが出ていないことを確認してください。
アプリの動作確認
intellijで[プロジェクト]/src/test/RunWebAppを選択して右クリックから「Run with JRebel "RunWeebApp.main"」を選択してください。
下部のコンソール画面にログが出力されます。問題なければ、http://localhost:8080で画面が表示されると思います。