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プロジェクトへのインポートと動作確認
続いてEclipseとMavenを連携させるため、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を設定する
あと次回はこの続きじゃなくて、文法修行に戻ったりすると思います。
参考
Lift Wiki より Using Maven
-TECHSCORE- のMaven解説より 4. Eclipseとの連携