Scalaのアプリケーションフレームワーク"Lift" (2: アプリ構築)

どーも、管理人の細川です。大分時間が空いてしまいましたが、
Scalaのアプリケーションフレームワーク"Lift" (2: アプリ構築)
を解説いたします。

  1. テンプレートプロジェクトの入手
  2. 設定ファイルの更新
  3. ライブラリの取得
  4. Eclipseプロジェクト化
  5. Eclipseでの実行

1. テンプレートプロジェクトの入手

公式のサイトから、テンプレートプロジェクトを一式ダウンロードします。
2016/05/05現在では、2.6がオススメ。

http://liftweb.net/download

中には色々と入っているけれど、利用するのはlift_blank
何も設定されていないのが、結局一番使いやすい。
(というか、ドキュメントが無いので、Advanceとか使いこなせません。)
lift_blankをフォルダごとコピーし、新しいプロジェクト名を付けて、
適切なディレクトリに配置しましょう。

2. 設定ファイルの更新

build.sbtというファイルが設定ファイルです。(記述はScalaです。)
nameとかバージョンとかをポチポチ変更しましょう。
一番変更する事になるのは、ライブラリです。

//ここにプロジェクト名
name := "xxx"

version := "0.0.1"

organization := "net.liftweb"

scalaVersion := "2.11.2"

resolvers ++= Seq("snapshots"     at "https://oss.sonatype.org/content/repositories/snapshots",
                "releases"        at "https://oss.sonatype.org/content/repositories/releases"
                )

seq(webSettings :_*)

unmanagedResourceDirectories in Test <+= (baseDirectory) { _ / "src/main/webapp" }

scalacOptions ++= Seq("-deprecation", "-unchecked")

//以下がライブラリ。サンプルとして、MongoDB系のライブラリを追加。
libraryDependencies ++= {
  val liftVersion = "2.6"
  Seq(
    "net.liftweb"       %% "lift-webkit"        % liftVersion        % "compile",
    "net.liftweb"       %% "lift-mongodb"         % liftVersion        % "compile->default" withSources(),
    "net.liftweb"       %% "lift-mongodb-record"  % liftVersion        % "compile->default" withSources(),
    "com.foursquare"    %% "rogue-field"          % "2.5.0" intransitive(),
    "com.foursquare"    %% "rogue-core"           % "2.5.0" intransitive(),
    "com.foursquare"    %% "rogue-lift"           % "2.5.0" intransitive(),
    "com.foursquare"    %% "rogue-index"          % "2.5.0" intransitive(),
    "net.liftmodules"   %% "lift-jquery-module_2.6" % "2.8",
    "org.eclipse.jetty" % "jetty-webapp"        % "8.1.7.v20120910"  % "container,test",
    "org.eclipse.jetty" % "jetty-plus"          % "8.1.7.v20120910"  % "container,test", // For Jetty Config
    "org.eclipse.jetty.orbit" % "javax.servlet" % "3.0.0.v201112011016" % "container,test" artifacts Artifact("javax.servlet", "jar", "jar"),
    "ch.qos.logback"    % "logback-classic"     % "1.0.6",
    "org.specs2"        %% "specs2"             % "2.3.12"           % "test"
  )
}

3. ライブラリの取得

更新したら、ターミナルでプロジェクトのディレクトリまで移動し、

./sbt

4. Eclipseプロジェクト化

ライブラリの取得が終わったら、

eclipse

完了したら、

exit

Eclipseを立ち上げて、 File>Import>General>Existing Projects into Workspace

Next, Browsで作成したプロジェクトを選択して、実行。

5. Eclipseでの実行

Run>Run Configurations>Scala Applicationをダブルクリック
Projectは目的のプロジェクトを設定。
Main Classは RunWebApp

実行し、ブラウザで http://localhost:8080 にアクセス。
停止はEclipseのConsoleの赤いボタンで。