2009-11-10 2 views
3

Apache를 통해 Jetty 6에서 여러 웹 응용 프로그램을 실행하고 있습니다. 이들은 contexts/디렉토리에서 .xml 파일을 사용하여 최신으로 배포하도록 설정됩니다. 이러한 .xml 파일은 WebAppContext 인스턴스를 정의하고 WAR 파일을 찾을 위치를 알려줍니다. 컨텍스트/.xml 파일을 터치하면 relavnt WAR 파일에 정의 된 JSP에 대한 변경 사항이 선택됩니다.Jetty가 핫 전개시 WEB-INF/lib의 변경 사항을 선택할 수 있습니까? 방법?

문제는 WAR 파일의 WEB-INF/lib 폴더에있는 JAR에 대한 변경 사항이 선택되지 않는다는 것입니다. 이 JAR 파일은 어딘가에 캐시되어 있기 때문입니다. 이 가정은 Jetty를 다시 시작하면 변경 사항이 적용된다는 사실을 기반으로합니다.

그래서 질문입니다.이 캐싱 동작을 해제하거나 다른 방법으로 WebAppContext 인스턴스에 라이브러리 변경 사항을 적용 할 수 있습니까? 그렇다면 어떻게?

답변

0

JBoss의 뜨거운 배포 스캐닝에있는 lib 폴더 확인하지 않습니다 : 부두가 같은 동작을 합니다만, 경우

http://community.jboss.org/wiki/HotDeployLibDirectory

확실하지, 당신이 중 하나를 이동 시도 할 수 귀하 jars를 jsp 중 하나와 같은 폴더에 넣으십시오.

그 옵션이 아니라면 다음이 도움이 될 :

http://www.jroller.com/larrywilliams/entry/jetty_hot_deploy

+0

나는 그것을 테스트하지 않을 것이지만 이것은 그럴듯한 해결책처럼 들린다. 또 다른 아이디어는 빌드 단위가 아닌 소스를 통해 종속성 .jars를 가져 오는 것입니다. 어쨌든 라이브러리 변경시 재시작해야한다는 고통은 크지 않습니다. 웹 응용 프로그램을 올바르게 설계하는 경우 라이브러리 변경 사항은 웹 응용 프로그램 프런트 엔드와 독립적으로 테스트 할 수 있어야하므로 서버를 다시 시작하거나 핫 전개하지 않아도됩니다. –

0

scanInterval 속성을 0보다 큰 숫자로 설정해야합니다.

은 자세한 here

+1

예 컨텍스트/디렉토리에 대한 기본에서 ScanInterval가 이미 설정되어 5에 핫 배포가 지금 제대로 작동합니다, 내 문제는 그 변경 사항 만입니다 WEB-INF/lib에있는 것과 같은 .jar 파일에 대한 변경 사항이 아니라 JSP에 적용됩니다. –