slim3プロジェクトの作成
なんか、いまさらながらに、プレーンのアプリをslim3化という作業段階を踏んだのが無駄のような・・・
まぁ、それはさておき、slim3版のプロジェクトの作成のメモ
slim3-blankの提供開始までもしくは
GAEのプロジェクトで作成してしまった人がslim3を適応するためのメモになります。
追記 2009/07
ずいぶんご無沙汰していますが、slim3-blankが出ているようですので、
そちらを利用してください。
プロジェクトの作成
GAEのプロジェクトを作る。
slim3itを元にして、以下作業を行なう。
jarのコピー
war/WEB-INF/libに
slim3-EA1-SNAPSHOT.jarをコピーし、ビルドパスを通す
単体テストの準備
appengine-api-stub.jar
appengine-local-runtime.jar
junit-xxx.jarにビルドパスに通す。
これは、slim3のサンプルとかから入手するより、
eclipseのプラグインフォルダにパスを通す(ユーザライブラリ作っておく)方がよい・・・のかな?
単体テスト用のソースフォルダとかを用意しソースフォルダ指定をする。
出力先はデフォルト以外の場所を指定する。
web.xmlをコピーする
<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.4"> <context-param> <param-name>javax.servlet.jsp.jstl.fmt.localizationContext</param-name> <param-value>application</param-value> </context-param> <filter> <filter-name>frontController</filter-name> <filter-class>org.slim3.controller.FrontController</filter-class> </filter> <filter-mapping> <filter-name>frontController</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> <dispatcher>INCLUDE</dispatcher> <dispatcher>ERROR</dispatcher> </filter-mapping> </web-app>
jdoconfigのコピー
src/META-INF/jdoconfig.xmlをコピーする
build.xmlのコピー
また、便利なantタスクがあるので以下もやっておく。
slim3-gen-XXX.jar
をslim3itのサンプルとかから取得し、libにおいておく。
slim3itよりbuild.xmlを拝借する。
Contorllerと、viewのテンプレートを作ってくれるので便利
※ただ、WEB-INF/jspをviewのデフォルトとする設定とかは無いみたいなので、
WEB-INFにJSPをおくことに強迫観念がある人はslim3-genをいじってもよいかも。
ただ、Function辺りに影響が出ても困るし・・・というちょっとした不安もあり
※ちなみに、各種slim3プロジェクトもチェックアウト済みならjarのコピーとかもしてくれるタスクもあり。
パッケージの策定
rootPackageを決め、その下に
controllerとmodelを作る
controllerパッケージの設定
appengine-web.xmlのsystem-propertiesに以下設定を追加
modelフォルダの設定
プロジェクトのプロパティ>Google>AppEngine>ORMに上記modelフォルダを追加する
aptの設定
プロジェクトのプロパティ>Javaコンパイラー>注釈処理に
aptの設定を入れる
- プロジェクト固有の設定を可能にするにチェック
- 注釈処理を使用可能にするにチェック
- 生成されるソース・ディレクトリに.apt_generatedを指定
- プロセッサー・オプションに
- validation=trueを追加
さらにファクトリー・パスに以下指定
- プロジェクトの固有の設定を可能にする
- slim3-gen-XXX.jarを追加する
※詳しくはslim3itプロジェクトの設定を参照
上記ソースディレクトリ(.apt_generated)をソースフォルダとして指定する。
雑感
なんだかslim3itをベースにした方が早いかもしれませんね
雛形作成
あとは画面構成、パス構成を決定して、
antのgen-controllerタスクで雛形を作っていく。
最初はプロンプトで/としてIndexを作成してみると動作確認も出来、素敵(index.htmlは消しておくこと)