Scala入門2 EclipseでLift開発(1)

入門2回目にしてLift!?といった感じのタイトルですが、Scalaについて気になったことを試すため脱線したり、書籍の文法学習に戻ったり、また脱線したり・・・という路線で行こうと思います。

今回はScalaのウェブフレームワークLift」をEclipse上で開発できるようにするまでの手順を調べてみることにします。開発環境はUbuntu10.10+Eclipse3.6を想定しています。

Scala2.8.1のインストール

今回は2.8系で開発をしたいため、2.8.1をダウンロードしてきます。

$ sudo wget http://www.scala-lang.org/downloads/distrib/files/scala-2.8.1.final.tgz
$ tar xzf scala-2.8.1.final.tgz

解凍後.profileにパスを通します。

$ vim ~/.profile 
 -> export PATH=$PATH:[解凍後ぶちこんだディレクトリへのパス]/scala-2.8.1.final/bin

sourceコマンドが効かなかったので、一旦ログアウトしてパスを有効に。

$ scala -version
Scala code runner version 2.8.1.final -- Copyright 2002-2010, LAMP/EPFL

MavenでLiftプロジェクトの作成

Mavenも上記方法でインストールするか、apt-getでインストールできます。ここでは省略。

Scala2.8.1とLift2.2の組み合わせでプロジェクトを作成してみます。

$ mvn archetype:generate \
 -DarchetypeGroupId=net.liftweb \
 -DarchetypeArtifactId=lift-archetype-basic_2.8.1 \
 -DarchetypeVersion=2.2 \
 -DarchetypeRepository=http://scala-tools.org/repo-releases \
 -DremoteRepositories=http://scala-tools.org/repo-releases \
 -DgroupId=jp.tantack \
 -DartifactId=hello_lift \
 -Dversion=1.0

DarchetypeArtifactIdは「lift-archetype-blank」「lift-archetype-basic」「lift-archetype-jpa-basic」とあるようです。用途に併せ使い分けろ、とのことですが、よく分からないのでbasicのままにしておきました。DgroupIdとDartifactIdはそれぞれ自分で命名

コマンドに問題がない場合は、設定した方法でビルドして良いか聞かれるため、「y」でビルドを実行します。

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 minutes 2 seconds
[INFO] Finished at: Sun Jan 16 22:47:45 JST 2011
[INFO] Final Memory: 12M/107M
[INFO] ------------------------------------------------------------------------

プロジェクトの作成に成功しました。

Eclipseプロジェクトへのインポートと動作確認

続いてEclipseMavenを連携させるため、M2_REPOの設定を行ないます。これはMaven Eclipse Pluginを初めて使う場合のみ設定します。

$ mvn -Declipse.workspace=[Eclipseのworkspaceパス] eclipse:add-maven-repo

次にMavenプロジェクトをEclipseプロジェクトに変更します。

$ cd hello_lift/
$ mvn eclipse:eclipse

・・・結構時間掛かります。

終わったらEclipse側からプロジェクトをインポートしてやります。あとはプロジェクトをインポートしたディレクトリに移動し、Jettyを起動させ、動作確認をしてみます。

$ cd workspace/hello_lift/
$ mvn jetty:run

無事起動した場合には、http://localhost:8080/へアクセスすると以下の画面が表示されると思います。

エラーが出た場合には、pom.xmlの設定あたりを見直す必要がありそうです。

今日はLiftプロジェクトをEclipseにインポートし、動作確認もできたことですので、ここまでとしておきます。

今後の課題

現状ではEclipse上でコードを書けるようになっただけで、Jettyの起動やテストの実行はMaven頼みという微妙な状態です。より怠惰なEclipseライフを送れるよう、以下の課題を努力目標として挙げておきます。

  • もっと楽にEclipse上でLiftプロジェクトを作れる方法を探す
  • mvnコマンドを使わず、Eclipse上でJettyを起動できるといいなあ・・・
  • 軽いテストもEclipse上で行えるといいなあ・・・
  • DBとしてMySQLを設定する

あと次回はこの続きじゃなくて、文法修行に戻ったりすると思います。