Google App Engine for Java に Scala で作られている Lift というフレームワークを載せてみた。
**Lift の導入
***Apache Maven
Lift は Apache Maven でプロジェクトを作成できる。最新版は 2.2.1
http://maven.apache.org/download.html
こちらは
C:\Program Files\Apache\Maven\2.2.1 にインストール。※インストーラでは無いのでコピー
インストールした後はパスを通す
set PATH=C:/Program Files/Apache/Maven/2.2.1/bin;%PATH%
***プロジェクト作成
Apache Maven が導入できたら、プロジェクト作成
Lift が GAE/J に対応しているのは 1.1 以降なので安定版である 1.0 は利用できない。
1.1-SNAPSHOT を利用する
PROJECT_NAME は適当に変更してください
# mvn archetype:create -U -DarchetypeGroupId=net.liftweb -DarchetypeArtifactId=lift-archetype-blank -DarchetypeVersion=1.1-SNAPSHOT -DremoteRepositories=http://scala-tools.org/repo-snapshots -DgroupId=j2 -DartifactId=PROJECT_NAME
***ビルド環境
Simple Build Tool を利用する
最新版は sbt-launcher-0.5.6.jar
http://code.google.com/p/simple-build-tool/
ダウンロードしたら、先ほど作成した PROJECT_NAME プロジェクトに入れる
PROJECT_NAME/pom.xml
PROJECT_NAME/src
PROJECT_NAME/sbt-launcer-0.5.6.jar
同ディレクトリに sbt.bat を作成する
set SCRIPT_DIR=%~dp0
java -Xmx512M -jar “%SCRIPT_DIR%sbt-launcher.jar” %*
と記述して保存。
詳しくはここ読んで。
http://code.google.com/p/simple-build-tool/wiki/Setup
sbt.bat を叩くとプロジェクトが作成される
# sbt
# set SCRIPT_DIR=PATH_TO_WORKDIRECTORY\PROJECT_NAME\
# java -Xmx512M -jar “PROJECT_NAME\sbt-launcher-0.5.6.jar”
Project does not exist, create new project? (y/N/s) : y
Name: Hello World
Organization []:
Version [1.0]: 1.0
Scala version [2.7.7]:
sbt version [0.5.6]:
# sbt compile
コンパイルをしたらエラーが出た。設定ファイル等が間違っているかもしれない
今回はプロジェクト作成にのみ利用した
sbt ではエラーになってしまったので、代わりに Maven を使う
src/main/webapp/WEB-INF/appengine-web.xml を作成する。内容は下記
<?xml version="1.0" encoding="utf-8"?>
<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
<application>PROJECT_NAME</application>
<version>1</version>
<system-properties>
<property name="in.gae.j" value="true" />
</system-properties>
<sessions-enabled>true</sessions-enabled>
<static-files>
<exclude path="/**" />
</static-files>
</appengine-web-app>
# mvn package
コンパイルできた。必要なライブラリは勝手にダウンロードされる
# dev_appserver target\PROJECT_NAME-1.0-SNAPSHOT
でローカル環境で実行される
# appcfg update target\PROJECT_NAME-1.0-SNAPSHOT
でアップロードされる
とりあえずひな形作成とローカル、ウェブサーバでの動作確認まではできた。
