2009-06-04 4 views
3

Eclipse 및 Tomcat에서 JSF 개발 속도를 높일 수있는 방법이 있습니까?Eclipse 및 JSF + Tomcat 개발 가속화

기본적으로 클라이언트 측 변경 (.jsf, .html, .css, .js)이 훨씬 빠르게 발생하도록하고, Tomcat을 다시 시작해야하는 방법을 찾고 있습니다.

그리고 가능한 경우 tomcat (또는 다른 Windows + Eclipse 호환 서블릿 컨테이너)을 만드는 방법도 훨씬 빠르게 다시 시작하십시오.

ASP.NET/Visual Studio/IIS에서의 경험과 비교하면 Tomcat을 다시 시작하기 위해 반나절을 보내고있는 것처럼 느껴지기 때문에 브라우저에서 404가 나오기도합니다. 충분히 빨리 가고 있습니다.

생산성을 높이고 더 많은 테스트 중심 개발을 허용하려면 다른 방법이 있어야합니다.

+0

프로젝트에서 Maven을 사용합니까? –

답변

0

톰캣이 페이지를 다시 컴파일하거나 다시로드하도록하는 빠르고 쉬운 방법은 Tomcat의 작업 디렉토리를 삭제하는 것입니다. 내 제한된 테스트에서 그것은 잘 작동하지만 분명히, 나는 이것을 프로덕션에서 권장하지 않습니다. :)

0

제대로 구성된 경우 MyEclipse은 Tomcat을 다시 시작하지 않고도 Tomcat에서 실행중인 응용 프로그램을 업데이트 할 수 있다고 믿습니다. 불행히도 상업적인 제품입니다.

Oracle JDeveloper에 OC4J 번들 사본이 포함되어 있으며 컨테이너를 다시 시작하지 않고도 변경 작업을 수행 할 수 있었지만 환경에 따라이 작업을 수행 할 수없는 경우도 있습니다.

2

당신이 당신의 프로젝트를 빌드 할 메이븐을 사용하여 이런 경우에, 당신은 톰캣에서 테스트하려면이 명령 줄을 사용할 수 있습니다

mvn clean war:exploded tomcat:run 

톰캣의 슬림 인스턴스를 실행됩니다 (바람둥이 :를 실행) 편집중인 소스 (war : exploded)에서 웹 파일 (.jsp, .html, .css, .js)의 변경 내용을 가져 오면 브라우저에서 F5를 누르기 만하면됩니다.

0

실수가 아니라면 클라이언트 측 변경 사항 (. jsf, .html, .css, .js)을 응용 프로그램의 webapps 폴더에 복사합니다. Jboss J2EE 버전의 Eclipse를 사용하면 일부 Java 코드를 신속하게 대체 할 수 있습니다.

+0

Eclipse (일반, Ganymede)에서 직접 응용 프로그램을 실행 중이므로 나에게 적합한 webapps 폴더가 없습니다. webapps 폴더를 Eclipse 폴더와 동일하게 구성 할 수 있습니까? IIS에서 내 dev 폴더에 Visual Directory를 설치할 수 있습니다. 클라이언트 측 변경 사항은 * 실제로는 * 빠릅니다 (이미 복사되었으므로!). –

0

프로젝트에서 일부 변경을 수행 할 때 다시 시작할 필요가없는 Tomcat이 아닌 다른 컨테이너를 사용할 수 있습니다. Jboss 일 수 있습니다. 또한 JBoss Tools과 같은 도구를 사용하는 경우 훨씬 빠르고 쉽게 개발할 수 있습니다 :-) .css 또는 .xhtml 페이지 만 변경하면 바람둥이를 다시 시작하면 안됩니다. 다시 게시해야합니다. 당신 신청서. JBoss Tools에서는 JBoss Tools 서버 뷰를 사용하여 만들 수 있습니다.

+0

이것은 구성과 관련됩니다. Tomcat 및 기타 괜찮은 응용 프로그램 서버에서도 제대로 작동하므로 autodeploy/hotdeploy를 true로 설정하면됩니다. – BalusC

0

동적 웹 프로젝트를 사용하고 Eclipse Java EE에 적합한 Tomcat 인스턴스에 배포하도록 지시해야합니다. 이것은 이클립스가 할 수있는 모든 것을 도울 수있게 해줄 것이다.

0

이것을 web.xml에 넣으십시오.

<context-param> 
    <param-name>facelets.REFRESH_PERIOD</param-name> 
    <param-value>1</param-value> 
</context-param> 

이것은 "응용 프로그램 서버가 얼마나 자주 JSP를 다시 컴파일합니까?"를 의미합니다. 값은 초입니다.

+0

효과는 동일하지만 설명이 잘못되었습니다. Facelets는 JSP가 아니며 Facelets 파일은 컴파일되지 않습니다. – BalusC

+0

설명해 주셔서 감사합니다. – Mat