サンプルコードをdownload して、readme.txtを読んでやってみたが、動かすまでに一苦労あったので、動かすまでの手順などを書いておく。
■ javac でビルドしようとして失敗
サンプルコードをダウンロードすると Readme.txt があって動かす手順があるが、さっぱり動かない。動かす以前に、JavaファイルとGroovyファイルがあり、互いのクラスファイルを参照していたりして、そもそもビルドの仕方がよく分からない。
Groovyファイルのコンパイルってどうするんだっけ?
何やら ant タスクもあるらしいが、記事中でEclipse プラグインについて言及があったので、それを使うことにした。となるとGroovyのコンパイルだけ Eclipse というのも変だし、いっそ Eclipse ベースでやってみる事にした。
■ Eclipse ベースに移行
と言うわけで Dynamic Web Project を作成(すでにGroovyプラグインが入っている前提)。これだけではGroovyファイルがコンパイルできないので、プロジェクトのコンテキストメニューから Configure>Convert to Groovy Project を選択。Groovy nature が追加されてプロジェクトのアイコンがちょっと変わる。output フォルダはWEB-INFしたのclassesを指定しておく。あとビルドパスの設定で、Server Runtime>Apache Tomcat 6.0を追加する。
■ 必要ファイルをプロジェクトに追加
サンプルコードの必要ファイルを、Eclipse上のプロジェクトに以下のようにコピー。
- places下のフォルダdecorators, pages, resources, sections, templatesとindex.htmlを
WebContent 下にコピー - WEB-INF直下の3つのxmlを WEB-INF直下にコピー
- src 以下のファイルをsrc下にコピー
続いて以下の jarをネットで漁るなどして集めて、WEB-INF/lib 下にコピー。
- asm-all-2.2.jar
- commons-beanutils-1.8.0.jar
- commons-codec-1.3.jar
- commons-fileupload-1.1.1.jar
- commons-httpclient-3.1-alpha1.jar
- commons-io-1.2.jar
- groovy-1.6.5.jar
- gwt-servlet.jar
- hibernate3.jar
- jsf-api.jar (mojarra-2.0.0-RC-binary)
- jsf-impl.jar (同上)
- jstl-1.1.0.jar
- mysql-connector-java-3.1.13-bin.jar
■ 動かしてみる
http://localhost:8080/places/にアクセスするとユーザ名とパスワードを聞いてくる。なんのユーザ名かわからなかったが、ソースを見るとユーザ名:William, パスワードjsfで固定らしい。それを入力するとログイン成功。
「Go」ボタンを押すと地図が表示される。最初は例外が出るばかりで困ったが、スタックとレースを見ながら上述のようにjar の組合せを変えるとだんだん動くようになった。まだ何やら怪しい動きが多いが、ここまでくるとデバッガやログでいろいろ調べられる。徐々に改造してみようと思う。
■ とりあえずの雑感
- Eclipse で Groovy と java が同じプロジェクトで同じようにコンパイルできて、ぜんぜん区別なく使えるのは初めて知った。Java プロジェクトに導入する敷居はかなり低いはず。特にEDSLに使えそう。上級プログラマが EDSL を開発して、若干スキルの低いプログラマが業務仕様をEDSL を用いて実装するような形で効果がありそう。
- 最初の JSFはいまいち盛り上がらなかったけど、JSF2はどうなんだろうなあ。Struts 2とどっちがいいだろう。有用性とか生産性が同程度なら当然 JSF だけど、そのためにもやっぱり正式リリースをさっさと済ましてほしい。
0 件のコメント:
コメントを投稿