30

我有一个 Web 应用程序(WAR 文件)。当我使用 WTP 工具通过 Eclipse 3.5 部署它时,我能够从 Eclipse 中启动 Tomcat 服务器并查看应用程序的所有页面。但是,我在 Tomcat 主目录的webapps文件夹中看不到我的 WAR 文件(或者就此而言,它的分解格式)。我的印象是 Tomcat 会读取其webapps文件夹下的所有 Web 应用程序。在这种情况下,Tomcat 如何读取我的应用程序?我使用 Tomcat 5.5.17 作为我的应用程序服务器。

4

2 回答 2

51

我最近必须弄清楚有关此主题的更多详细信息以解决应用程序启动问题,因此我在此处记录下来。

应用程序部署在哪里?

它由服务器配置决定。双击服务器视图中的服务器以查看服务器“概述”。在“服务器位置”部分,配置了默认值:

  • 服务器路径:.metadata/.plugins/org.eclipse.wst.server.core/tmp0
  • 部署路径:wtpwebapps

此外,应用程序“模块”在服务器配置的“模块”选项卡中定义,指定应用程序路径、文档库和模块名称。例如,您将项目部署myapp到 path /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
于 2012-12-31T19:41:48.857 回答
20

这一切都在context.xmlEclipse 提供给 Tomcat 的内容中定义。如果要配置此行为,请在服务器视图中双击 Tomcat 实例并检查服务器位置部分。要实现您最初想要/预期的效果,您需要选择Use Tomcat installation并在必要时指定Deploy path

于 2010-01-22T20:17:40.503 回答