次の記事 | 前の記事

2008-08-09

Tomcatのバージョンアップでハマッた

開発環境用の Tomcatを新しいバージョンにしたらはまった。
結論は Windows環境用 apache-tomcat-6.0.18.exe 入れたら conf/tomcat-users.xml の文字エンコードが cp932 になっているので気をつけよう。
ということなのですが。。。以下、その顛末。

なぜ、アップグレードしようと思ったかと言うと運用サーバーが死にかけたときにOS含めて新しい環境作ったけど開発環境は古いままで寂しかったから。

 バージョンは 5.5系から 6.0系へ
 (プラットホームはWindows XP)

まず、JDKを 1.5系から 6の最新版 (1.6.0_07) に変更(既存をアンインストールして新規セットアップ)

Tomcat5.5 の lib内に手動で追加したjarファイルと webapps 以下とかを退避用のフォルダにコピー後に uninstall実施。

その後で Tomcat5.5が入っていたフォルダを完全消去。
最新版の Tomcat6.0.18のインストーラ「apache-tomcat-6.0.18.exe」ダウンロード後、実行。
完了後、一応環境変数 CATALINA_HOMEを新しいPathに書き換えて
「Monitor Tomcat」で一旦ストップさせてもう一回スタート。
ブラウザで localhost:8080 にアクセスすると。。。
あれれ?
いつものデフォルトページが表示されないのでログを見ると
「java.io.UnsupportedEncodingException: cp932」
とか
「javax.naming.NamingException: cp932」
が出てて起動できなかったような内容のスタックトレース。

なんで cp932?と思いながら googleで検索するとタイムリーなページ発見。
gnarlさんの「gnarl、技術メモ」
Tomcat,UnsupportedEncodingExceptionとかで起動しない
が、、、
解決法は
「tomcatのconfディレクトリ内、encoding="cp932"になってるxmlがあったらutf-8に修正」
だけどそんな記述は見つけられなかった。

ただ、コメントで
「つい最近のリリースで発生した不具合なんですかね。」
という部分を見てじゃあ一つ前のバージョンで試してみようと思って
6.0.16を入れてみたら問題なく起動できた。

でも気になったのでもう一度別の環境に 6.0.18を入れてみたら。。。
ありました!cp932の記述!
conf/tomcat-users.xml

と言うことで、6.0.16 に入れなおしたやつをもう一回 6.0.18 に入れなおしました。
何で見落としたのか。。。 orz

category01. ApacheやTomcat関連  time2008-08-09 17:41  authorkagekino 

コメント

コメントはまだありません。

コメント追加

このアイテムは閉鎖されました。このアイテムへのコメントの追加、投票はできません。

トラバ

トラバ
トラバピングURL
http://weblog.hip-labo.com/action.php?action=plugin&name=TrackBack&tb_id=133
手動によるトラバは こちらからどうぞ。