WEB-INF/lib
モジュールを JAR にパッケージ化してから WAR にすることなく、開発ワークスペースの散在するディレクトリ構造から Web アプリケーションを直接提供するという考え方です。
主な利点は次のとおりです。
- アーカイブを構築する必要はありません。
- ワークスペース内のリソースを変更すると、webapp を再デプロイしたりサーバーを再起動したりしなくても、実行中の webapp に変更が反映されます。
Servlet 3.0 では、Web リソースも のライブラリ JAR にバンドルされる場合があるMETA-INF/resources
ため、クラスとリソースは複数のワークスペース ディレクトリから取得される場合があります。
Tomcat 7.0 は、散在するリソースおよびクラス ディレクトリのコレクションに基づいて Web アプリケーションを構成するVirtualWebappLoader
および をサポートします。VirtualDirContext
Eclipse ワークスペースから Web アプリを直接提供するために、WTP は、プロジェクト構造に一致する適切な Tomcat 構成を生成します。$WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/conf/server.xml
何らかの理由で、WTP は Tomcat ローダーとコンテキストの実装を直接使用しませんが、わずかに異なるが類似した独自のWtpDirContext
とを持っています。WtpWebappLoader
(このアプローチは、Tomcat の現在のソリューションよりも古いと思います。TLD スキャンにはいくつかの特別なロジックがあります。これが最新の Tomcat バージョンでまだ必要かどうかはわかりません。) これらのヘルパー クラスは、org.eclipse.jst.server.tomcat.runtime.70.loader.jar
お気づきの.
公開せずにモジュールを提供しない場合、ライブラリ モジュールで Web リソースをMETA-INF/resources
変更すると、ブラウザで現在のページをリロードした後、この変更は実行中のアプリケーションに直接表示されません。