(前回の続き)GrailsのWicketプラグイン、その2。

前回は、WicketプラグインのプロジェクトをEclipseにインポートしたところ、Grails 0.5.5のjarを求められたわけですが、よく考えてみれば、Grails 0.5でcreate-appした環境にWicketプラグインがインストールできて、動けばいいわけで。

ものは試し。Graeme RocherさんのblogにあるHello Worldのサンプルが、Grails 0.5で動作できるかどうか。

まずは、create-app。


# grails create-app wickethello
次に、Wicketプラグインのインストール。

# cd wickethello
# grails -Dhttp.proxyHost=proxy -Dhttp.proxyPort=8080 install-plugin Wicket 0.1
で、WebApplicationクラス、Pageクラス、HTMLページを作成。

# vi grails-app/controllers/WebApplication.groovy
# vi grails-app/controllers/HelloWorld.groovy
# vi grails-app/views/HelloWorld.html
そして、実行。

# grails run-app
そしたら

[超意訳]:
同じ名前のファイル(HelloWorld.groovy)が2つあって迷惑してる。どっちか移動して。
とエラーが... orz

で、wickethelloディレクトリの中をよく探してみると

  • wickethello/grails-app/controllers/HelloWorld.groovy
  • wickethello/plugins/Wicket-0.1/grails-app/controllers/HelloWorld.groovy

と、同じ名前で、よく似たディレクトリ構成下にあるファイルが... (-_-;)

「pluginsの中の方は使わないだろう」という判断のもと、

  • plugins/Wicket-0.1/grails-app/controllers/HelloWorld.groovy
  • plugins/Wicket-0.1/grails-app/controllers/WebApplication.groovy
  • plugins/Wicket-0.1/views/WebApplication.groovy

を削除し、再びrun-app。

今度はエラーにならず、


Servlet 'grails' configured successfully
Server running on port 8080
無事起動。で、

http://localhost:8080/wickethello/app
にアクセスすると、

java.lang.NullPointerException
だけのさみしいメッセージが... orz

ここで、Graeme Rocherさんのblogに書いてあった、


[超意訳]:
プラグインは、GrailsのURLマッピングの仕組みだと動かないから、
例外が発生したら、grails-app/conf/*UrlMappings.groovyを削除してちょ。
を思い出し、

  • grails-app/conf/WickethelloUrlMappings.groovy

削除してから、再度run-app。

すると、なんとか


Hello World!
と表示されました(^_^)v