Eclipse在哪里使用WTP部署Web应用程序?

Thu*_*shy 29 eclipse tomcat eclipse-wtp

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

hsh*_*hib 48

我最近必须弄清楚这个主题的更多细节来解决应用程序启动问题,所以我在这里注意到它.

应用程序在哪里部署?

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

  • 服务器路径: .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. 
Run Code Online (Sandbox Code Playgroud)

部署了哪些应用程序文件?

部署内容由项目属性中的"部署程序集"确定.程序集中的每个条目都定义了将哪些文件部署到哪个路径.例:

  • /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
Run Code Online (Sandbox Code Playgroud)

  • +1。非常好,中肯的回答。特别感谢您解释“部署程序集”选项的目的是什么。 (2认同)

Bal*_*usC 19

这只是context.xmlEclipse给Tomcat的所有定义.如果要配置此行为,请在服务器视图中双击Tomcat实例,然后选中" 服务器位置"部分.要实现您最初想要/期望的内容,您需要选择" 使用Tomcat"安装,并在必要时还指定" 部署"路径.

  • 在我的情况下,服务器位置部分在eclipse中被禁用. (3认同)
  • 当服务器已使用模块发布时,它将被禁用.**阅读**部分的主要文字:) (2认同)