Archive for 11月, 2009

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
でアップロードされる

とりあえずひな形作成とローカル、ウェブサーバでの動作確認まではできた。

クラウド使う機会がありそうなので、まずは環境を導入してみました。
Googleの導入事例に沿ってのメモなので特に特筆すべき点とかはないです(^^;

*GAE/J (Google App Engine for Java) 導入メモ

**環境
windwos XP SP3
Mac OS X 10.5.8

**必要なものなど
Java5, または Java 6 (JDK5, JDK6)
Google App Engine for Java
eclipse (option)

**手順
***JDK6

http://java.sun.com/javase/downloads/widget/jdk6.jsp
Mac の場合は下記
http://developer.apple.com/java/download/

windows では
C:/Program Files/JDK/1.6.0_17 にインストールした。

インストールした後はパスを通す
set PATH=C:/Program Files/JDK/1.6.0_17/bin;%PATH%

下記のコマンドを叩いてバージョンを確認する。

# java -version
-> java version “1.6.0_17″
# javac -version
-> javac 1.6.0_17

***Google App Engine for Java (GAE/J)
GAE/J をインストールします。現在の最新バージョンは 1.2.6
http://code.google.com/intl/ja/appengine/downloads.html

>Eclipse と Google Plugin を使用している場合は、Eclipse のソフトウェア更新機能で
>App Engine SDK をインストールできます。「Google App Engine Java SDK」コンポーネントを
>まだインストールしていない場合は、上に示した場所からインストールしてください。

windows では
C:\Program Files\Google\AppEngine\SDK\Java\1.2.6 にインストールしました。

インストールした後はパスを通す
set PATH=C:/Program Files/Google/AppEngine/Java/1.2.6/bin;%PATH%

Mac では下記のように設定した
export GAEJROOT=$HOME/sdk/Google/AppEngine/Java/1.2.6
export GAEJBIN=$GAEJROOT/bin:$PATH

**デモ
各種パスが通っていれば下記のコマンドでアプリが起動する

windows:
# dev_appserver.cmd “C:/Program Files/Google/AppEngine/Java/1.2.6/demos/guestbook/war”

Mac:
# dev_appserver.sh $GAEJROOT/demos/guestbook/war

起動が確認できたら

http://localhost:8080/

Mac,winともに、これで最低限の環境構築が出来たはず。
次はプロジェクトを作ってみて、お目当ての Scala を動かしてみます

http://www.itmedia.co.jp/enterprise/articles/0910/20/news056.html
http://itpro.nikkeibp.co.jp/article/NEWS/20091113/340428/

エディションが「Ultimate」「Premium」「Professional」の3種類
価格が
* Ultimate with MSDN:新規購入価格は1万1924ドル、アップグレードは3841ドル
* Premium with MSDN:新規は5469ドル、アップグレードは2299ドル
* Professional with MSDN:新規は1199ドル、アップグレードは799ドル
* Professional without MSDN:799ドル

MSDN 無しのProfessional はアップグレードないの?