노트북을 바꾸고 기존의 프로젝트를 svn으로 받아 로컬에서 띄우기 위한 작업을 하고 있었다.
깔은 톰캣은 7버전 자바는 1.6...

이클립스에서 프로젝트에 마우스 오른쪽 클릭 properties로 들어가서
project facets를 본다. 물론 그전에  eclipse>window>preferences로 들어가
server아래의  server runtime environments에서 add버튼을 클릭해서 톰캣을 추가해 주었다.

그러나 project facets에서 tomcat7+ java1.6+web module3.0으로 설정해주고
server를 띄워 add and remove에 해당프로젝트를 추가해주었지만 에러가 날뿐...
쓰던대로 톰캣 6버전으로 바꾸기로했다.

그러나  eclipse>window>preferences>server>server runtime environments에서 톰캣7을 삭제하고 6을 추가했으나
project facet 에서 web module 2.5로 변경되지 않았다...

구글링 결과 이것은 workspace아래의 해당프로젝트의 .setting폴더 아래에  
org.eclipse.wst.common.project.facet.core.xml를 열어서 강제로 손질을 해줘야 한단다.
아래와 같이 바꿨다.

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <runtime name="Apache Tomcat v6.0"/>
  <fixed facet="wst.jsdt.web"/>
  <fixed facet="jst.web"/>
  <fixed facet="java"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="2.5"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
  <installed facet="jst.jsf" version="1.2"/>
</faceted-project> 

웹모듈의 버전을 바꾼 후  
 java.lang.ClassNotFoundException: javax.faces.webapp.FacesServlet =>요런 에러가 났다,
이것 역시 해당프로젝트의 세팅파일아래 jsf버전과 상관있는듯 했으나(원래 버전 2.0이었음)
버전을 1.2로 바꾸는 것과 동시에 해당 프로젝트의 WEB-INF/lib폴더 아래에 jsf관련 jar파일을 두개 넣어줘야 한다.
jsf-api.jar
jsf-impl.jar
이 두개를 넣어주고 이클립스를 다시 시작.
톰캣을 start하면 에러없이 실행된다!!!

결론은 project facets에서 변경되지 않으면 
해당 프로젝트의 세팅파일을 손대라는것!
 
Posted by verynyang poppy


티스토리 툴바