Webアプリケーション(WARファイル)があります。 WTPツールを使用してEclipse 3.5を介してデプロイすると、Eclipse内からTomcatサーバーを起動して、アプリケーションのすべてのページを表示できます。しかし、私はWARファイルをTomcatホームディレクトリのwebappsフォルダー内に表示していません(または、その展開形式です)。 Tomcatはwebappsフォルダーの下のすべてのWebアプリケーションを読み取るという印象を受けました。この場合、Tomcatは私のアプリケーションをどのように読み取りますか?アプリケーションサーバーとしてTomcat 5.5.17を使用しています。
EclipseがTomcatに提供したcontext.xml
ですべて定義されています。この動作を構成する場合は、サーバービューでTomcatインスタンスをダブルクリックし、サーバーの場所セクションを確認します。最初に希望/期待どおりの結果を得るには、Tomcatインストールを使用を選択し、必要に応じてDeploy pathも指定する必要があります。
最近、アプリケーションの起動に関する問題のトラブルシューティングを行うために、このトピックの詳細を把握する必要があるので、ここで注意します。
サーバー構成によって決定されます。サーバービューでサーバーをダブルクリックして、サーバーの「概要」を確認します。 [サーバーの場所]セクションには、デフォルト値が設定されています。
.metadata/.plugins/org.Eclipse.wst.server.core/tmp0
wtpwebapps
また、アプリケーション「モジュール」は、アプリケーションパス、ドキュメントベース、およびモジュール名を指定するサーバー構成の「モジュール」タブで定義されます。たとえば、プロジェクトmyapp
をパス/MyApp
にデプロイします。
したがって、ワークスペースが/home/me/workspace/myapp
の場合、アプリケーションデプロイメントディレクトリへのパスは次のようになります。
/home/me/workspace/myapp/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/myapp.
デプロイメントの内容は、プロジェクトプロパティの「デプロイメントアセンブリ」によって決定されます。アセンブリの各エントリは、どのファイルがどのパスに展開されるかを定義します。例:
/src/main/Java -> WEB-INF/classes
/src/main/resources -> WEB-INF/classes
/src/main/webapp -> /
Maven Dependencies -> WEB-INF/lib
したがって、ソースツリーにファイルsrc/main/webapp/WEB-INF/web.xml
がある場合、次の場所に展開されます。
/home/me/workspace/myapp/.metadata/.plugins/org.Eclipse.wst.server.core/tmp0/wtpwebapps/myapp/WEB-INF/web.xml