Webアプリケーション(WARファイル)があります。WTPツールを使用してEclipse3.5を介してデプロイすると、Eclipse内からTomcatサーバーを起動し、アプリケーションのすべてのページを表示できます。ただし、Tomcatホームディレクトリのwebappsフォルダ(または、さらに言えば、展開された形式)内にWARファイルが表示されません。Tomcatはwebappsフォルダーの下にあるすべてのWebアプリケーションを読み取るという印象を受けました。この場合、Tomcatは私のアプリケーションをどのように読み取りますか?アプリケーションサーバーとしてTomcat5.5.17を使用しています。
2 に答える
最近、アプリケーションの起動の問題をトラブルシューティングするために、このトピックの詳細を把握する必要があるため、ここに注意します。
アプリケーションはどこにデプロイされますか?
サーバー構成によって決まります。サーバービューでサーバーをダブルクリックして、サーバーの「概要」を確認します。[サーバーの場所]セクションには、デフォルト値が構成されています。
- サーバーパス:
.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
context.xml
EclipseがTomcatに与えたものですべてが定義されています。この動作を構成する場合は、サーバービューでTomcatインスタンスをダブルクリックし、[サーバーの場所]セクションを確認します。最初に必要/期待したことを実現するには、[ Tomcatインストールを使用する]を選択し、必要に応じて[展開パス]も指定する必要があります。