カスタム検索

2009年3月26日木曜日

Grails1.x > Grails1.1への移行

Grails 1.0.5 のアプリを Grails1.1 へ移行した時に起きた問題。メモメモ。

とりあえずざっくり grails update をしてみる。
SVNの差分で見てみるとコマンドで変更される内容はたいしてないみたい。
application.propertiesに plugins.hibernate=1.1 が追加されてる、この辺の話しはここで詳しくのっている。


・pluginを読み込まない
pluginの置き場所が変わったため、upgradeしただけでは既存のpluginを読み込んでくれない。
これは 1.1 に追加された BuildConifg.groovy というファイルを書いてやる必要がある。

grails-app/conf/BuildConfig.groovy を作成し、以下のような感じで設定してやる。

grails.plugin.location."pluginName"="plugins/pluginName-version"


ダブルクォートは重要、groovyなんで無いと引き算扱いになってまうよ :)
とりあえず移行ならこれでいいけど、pluginの管理は別リポジトリで自動バージョンアップとか素敵な感じになってるので将来的にはそっちに移行した方が良い。


・xercesImpl.jar が無くなった。
今まではGrails本体のlibフォルダにXercesが入っていたのですがこれがなくなりました。
なのでXercesを使ってたアプリや、Xercesを使っているpluginをいれているとNoClassDefFoundErrorになります。
以前のバージョンからコピーするか、本家から落としてきてアプリケーションの lib フォルダにいれてやりましょう。

・起動時にエラーが出る

以下のようなエラー
ERROR commons.DefaultGrailsControllerClass - The allowedMethods property in ほにゃららController should be declared static. The non static version is supported for now but has been deprecated and may not work in future versions of Grails.

allowedMethods が def から static になったからこのままだと近いうちに使えんくなるよ、と。
単純に def を static にしたら出なくなりました。



とりあえずこれで動作しました。

0 件のコメント: