2014-01-09 3 views
0

Eclipse Run on Server 기능의 이상한 동작이 발생합니다. 내 환경 :Eclipse는 WebContent 폴더의 컨텐츠를 WEB-INF 폴더에 배치합니다.

  • Eclipse Kepler SR 1, WTP
  • Apache Tomcat 7.0.37

이클립스 내부에 두 개의 동적 웹 프로젝트가 - ProjectAProjectB을. 두 파일 모두폴더 바로 아래에 index.xhtml 파일 (실제로 두 프로젝트 모두 JSF 프로젝트)이 있습니다. Tomcat 설치의 Tomcat webapps 폴더로 파일을 WAR으로 내 보내면 둘 다 정상적으로 실행됩니다. Run on Server 기능을 통해 Eclipse에서 관리하는 Tomcat 서버에서 ProjectA을 실행하면 모든 것이 정상입니다. 그렇지만 Run on Server을 통해 ProjectB을 Eclipse에서 시작하려는 경우 올바른 http://localhost:8080/ProjectB/faces/index.xhtml URL을 통해 리소스에 액세스 할 때 http://localhost:8080/ProjectB/index.xhtml에 액세스 할 때 404 error 또는 JSF 서블릿에서 index.xhtml Not Found in ExternalContext as a Resource 오류가 발생합니다. . 이클립스의 내용이 WebContent 폴더되었습니다 프로젝트 ProjectB를 들어
: (/faces/로 시작하는 모든 URL이 JSF Servlet에 일치

이클립스 작업 공간에서 톰캣 폴더 ( <eclipse-workspace>\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps)에 배포 된 응용 프로그램을 보면 원인을 알 수 .. 대신에 프로젝트 배포의 루트 폴더에 WEB-INF 폴더에 배포 과정의 응용 프로그램 서버 리소스를 찾을 수 없습니다

질문은 - 를 왜 배포하지 않고 어떻게이

를 방지 할 수 있습니까?

이클립스 내부에서 두 프로젝트의 Deployment Assembly 속성을 확인했습니다. 둘 다 동일한 (기본값) 원본 - 대상 폴더 매핑을가집니다.

<?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> 

이상한이 그것을 밤은 : 여기에 .settings\org.eclipse.wst.common.component 파일의 내용은 무엇입니까? 누구든지 어떤 생각?

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

답변

0

라인은 당신이이 lib 디렉토리 프로젝트로하지 않을거야, 당신의 소스가/WEB-INF가/클래스를 패키지로 WST 알려줍니다. 변경 :

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

트릭을 수행 할 것입니다.