WEB向けのフレームワークを作る為に、プロジェクト内にTomcatを取り込んでおけば楽かなと思っていたのですが、Tomcatってそれなりに大きいプロダクトであるのが困りどころです。配布形式でも普通に5.5M近くあります。
そこで前のブログに書いたのですが、また再度最小化Tomcat作りにチャレンジです。対象のバージョンは5.5シリーズの最新版です。まずコンセプトとして、
- Apacheと連携しない
- JSPは必須
- ウェブアプリケーション内の静的コンテンツも利用したい
- 開発用と割り切れる
- 特に本体にパッチを当てない
- SSL不要
- リスナ不要
- MIME設定不要
- 管理ツール不要
- RELM不要
- DBCP不要
というところです。そのために削除できるものは削除します。徹底的にかわいがりです。欲を出せば、
というようにしたいのですが、関連のjarを削除して起動すると怒られるので諦めます。基本は起動して例外になるかならないかの範囲で削除、復活を繰り返します。
で細かい説明は大変なので、ダイエット前後でファイル一覧を見てみましょう。
ダイエット前
ダイエット後
ダイエット前はドキュメントやサンプルも含まれているので、実際にはもっとボリュームがありますが、重要なところだけ記載しています。逆にダイエット後はリアルにそのファイルだけです。
約半分くらいのボリュームになりました。これならEclipse上のプロジェクトに入れておいてもそんなに邪魔ではありません。conf/catalina/localhost以下以外をソース管理の対象にしておくとよいでしょう。
そして最低限動かす為の設定ファイルです。
まずはcatalina.propertiesです。これはコメントとsharedクラスローダの設定を削除します。クラス単位で共有クラスの指定をすることも殆どないので、そこら辺の設定も削除します。
次にserver.xml。
そして最後に標準のweb.xml。JSPと標準サーブレットの指定は必須ですが後はそんなに要らないでしょう。
ここまで削られた男仕様のTomcatでも開発には十分使えます。参考になったでしょうか。