Eclipse将WebContent文件夹的内容部署到WEB-INF文件夹。
我遇到了在服务器上运行EclipseEclipse将WebContent文件夹的内容部署到WEB-INF文件夹。,eclipse,tomcat,web-inf,Eclipse,Tomcat,Web Inf,我遇到了在服务器上运行Eclipse特性的一个奇怪行为。我的环境: 日食开普勒SR 1,WTP ApacheTomcat 7.0.37 我在Eclipse中有两个动态web项目-ProjectA和ProjectB。两者都有一个index.xhtml文件(实际上这两个项目都是JSF项目),直接位于WebContent文件夹的下方。当我将它们作为WAR文件导出到Tomcat安装的Tomcat webapps文件夹时,它们都运行良好。当我通过runonserver功能在Eclipse管理的Tomc
特性的一个奇怪行为。我的环境:
- 日食开普勒SR 1,WTP
ApacheTomcat 7.0.37
ProjectA
和ProjectB
。两者都有一个index.xhtml
文件(实际上这两个项目都是JSF项目),直接位于WebContent
文件夹的下方。当我将它们作为WAR
文件导出到Tomcat安装的Tomcat webapps
文件夹时,它们都运行良好。当我通过runonserver
功能在Eclipse管理的Tomcat服务器上运行ProjectA
时,一切都很好。但是当我想通过服务器上运行的从Eclipse启动ProjectB
时,访问http://localhost:8080/ProjectB/index.xhtml
或分别在ExternalContext中未找到作为资源的index.xhtml
错误,该错误在访问资源时来自JSF servlet通过正确的http://localhost:8080/ProjectB/faces/index.xhtml
URL。(所有以/faces/
开头的URL都与JSFServlet
匹配
查看Eclipse工作区中Tomcat文件夹中部署的应用程序(\.metadata\.plugins\org.Eclipse.wst.server.core\tmp0\wtpwebapps
)可以发现原因:
对于ProjectB
Eclipse项目WebContent
文件夹的内容已部署到WEB-INF
文件夹,而不是部署到项目部署的根文件夹。应用程序服务器当然找不到资源
问题是-为什么部署失败,我如何避免它?
我甚至检查了eclipse中两个项目的部署程序集
属性。它们都具有相同的(默认)源到目标文件夹映射。以下是.settings\org.eclipse.wst.common.component
文件的内容:
<?xml version="1.0" encoding="UTF-8"?><project-modules id="moduleCoreId" project-version="1.5.0">
<wb-module deploy-name="ProfileAndGroupManagementGUI">
<wb-resource deploy-path="/" source-path="/WebContent" tag="defaultRootSource"/>
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
<property name="context-root" value="ProfileAndGroupManagementGUI"/>
<property name="java-output-path" value="/ProfileAndGroupManagementGUI/build/classes"/>
</wb-module>
奇怪,不是吗?有人知道吗?这条线
<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
我会成功的
<wb-resource deploy-path="/" source-path="/src"/>