Eclipse 3.6 動的Webプロジェクトでのtomcat 5.5 → tomcat7.0.2移行メモ

ほぼそのまま移行完了。手間取ったのはJDBCがらみの以下の2点。

context.xml, web.xml, server.xmlJDBC(JNDI)関係のリソース名をすべて統一

5.5ではグローバルリソース名と、Webアプリから参照するJNDIリソース名を別の名前にしていた。Tomcatのドキュメントにも一致させる必要があるというような記述はない。
ところが、7.0.2では以下のエラーが出る。

javax.naming.NameNotFoundException: 名前 xxxx はこのコンテキストにバインドされていません

とりあえず、すべて名前を一致させることで回避。そのうち修正されるのかも、、、

Eclipse上でTomcat7.0.2が起動しなくなる

META-INF/context.xmlを置いたとたん、Eclipse上でTomcat7.0.2が以下のメッセージのダイアログが出し、起動が中断。

Server Tomcat v7.0.2 Server at localhost failed to start.

コンソールには以下の警告が、

警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:プロジェクト名' did not find a matching property.
2010/09/xx xx:xx:xx org.apache.tomcat.util.digester.Digester endElement

対処はここ。要は、Serverビューをダブルクリック、「Server Options」の「Publish module contents to separate XML files(XMLファイルを分割してモジュール・コンテキストを公開)」にチェックを入れる。