2013-03-22 6 views
5

EclipseのWebツールプラットフォーム(WTP)は、「発行せずにサーバーモジュール」Tomcatに設定することができます:Eclipse WTPとTomcatで公開モジュールを使用しない場合の技術的な詳細は?

Webコンテンツを動的Webプロジェクトの「WebContentを」フォルダから直接提供されます。カスタマイズされたコンテキストを使用して、Webアプリケーションのクラスローダーでプロジェクトの依存関係を利用できるようにします。

技術的には何が起こるのですか?Eclipseが生成するファイルはどこにありますか? Eclipseがorg.eclipse.jst.server.tomcat.runtime.70.loader.jarというファイルをTomcatのlibディレクトリに生成したことに気付きました。

答えて

13

アイデアはモジュールをJARにパッケージ化せずにWARのWEB-INF/libに終わることなく、開発ワークスペースの散在したディレクトリ構造から直接Webアプリケーションを提供することです。

主なメリットは以下のとおりです。

  • あなたがアーカイブを構築する必要はありません。
  • ワークスペース内のリソースを変更すると、実行中のWebアプリケーションに変更が反映され、Webアプリケーションを再デプロイしたりサーバーを再起動する必要はありません。サーブレット3.0と

クラスリソースは、複数のワークスペースディレクトリから来るかもしれないので、Webリソースも、META-INF/resourcesにライブラリJARにバンドルすることができます。

Tomcat 7.0は、分散リソースとクラスディレクトリのコレクションに基づいてWebアプリケーションを構成するために、VirtualWebappLoaderVirtualDirContextをサポートしています。 Eclipseワークスペースから直接あなたのWebアプリを提供するために

、WTPはいくつかの理由$WORKSPACE/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/conf/server.xml

でプロジェクト構造 に一致する、適切なTomcatの設定を生成し、WTPは直接Tomcatのローダーとコンテキスト実装を使用するが、そのを持っていませんWtpDirContextWtpWebappLoaderは若干異なりますが類似しています。 (私はこのアプローチがTomcatの現在のソリューションよりも古いと考えています。TLDのスキャンには特別なロジックがあります。最新のTomcatバージョンではまだ必要かどうかはわかりません)。helper classesは気付いたorg.eclipse.jst.server.tomcat.runtime.70.loader.jarに含まれています。 なし

を公開せずに、モジュールをサーブあなたはライブラリモジュールにMETA-INF/resourcesでWebリソースを変更すると、この変更は、ブラウザで現在のページをリロードした後に実行しているアプリケーションで直接表示されません。

関連する問題