0

我遇到了 EclipseRun on Server功能的奇怪行为。我的环境:

  • Eclipse Kepler SR 1, WTP
  • Apache Tomcat 7.0.37

我在 Eclipse 中有两个动态 Web 项目 -ProjectAProjectB. 两者都有一个文件(实际上两个项目都是 JSF 项目)直接位于文件夹index.xhtml下方。WebContent当我将它们作为WAR文件导出到Tomcat webappsTomcat 安装的文件夹时,它们都运行良好。当我ProjectA在 Eclipse 通过Run on Serverfeature 管理的 Tomcat 服务器上运行时,一切都很好。但是,当我想ProjectB从 Eclipse开始时,当通过正确的URL访问资源时,访问 JSF servlet或分别从 JSF servlet 得到一个Run on Server错误。(所有以.404 errorhttp://localhost:8080/ProjectB/index.xhtmlindex.xhtml Not Found in ExternalContext as a Resourcehttp://localhost:8080/ProjectB/faces/index.xhtml/faces/JSF Servlet

<eclipse-workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps查看Eclipse工作区(
_ 应用服务器当然找不到资源。ProjectBWebContentWEB-INF

问题是 -为什么部署失败,我该如何避免这种情况?

我什至Deployment Assembly在 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>

奇怪,不是吗?有人知道吗?

4

1 回答 1

1

线

<wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>

告诉wst将您的源打包到/WEB-INF/classes,这是您不想做的,因为这是一个 lib 项目。将其更改为

<wb-resource deploy-path="/" source-path="/src"/>

会成功的。

于 2014-07-03T14:24:10.520 回答