2010-03-03 4 views
14

저는 Spring Roo 프로젝트가 있고 내 앱을 실행하는 데 mvn jetty:run을 사용합니다. 단 하나의 문제는 *.java 클래스의 변경 사항이 핫 배포되지 않으며 *.jspx의 변경 사항이 잘 배포된다는 것입니다.임베디드 부두에서의 뜨거운 배포

Java 클래스의 경우 mvn 부두를 hotdeploy로 구성하려면 어떻게해야합니까?

답변

22

당신은 그것을 가능하게 0보다 큰 값으로 scanIntervalSeconds를 설정해야합니다

scanIntervalSeconds - 초 간격 변경에 대한 웹 애플리케이션을 검사하고 필요한 경우 컨텍스트를 다시 시작합니다. 재로드가 사용 가능한 경우 무시됩니다. 기본적으로 사용하지 않도록 설정되어 있습니다. 기본값은입니다 : 0

그래서 구성의 힘은 다음과 같습니다

<plugin> 
    <groupId>org.mortbay.jetty</groupId> 
    <artifactId>maven-jetty-plugin</artifactId> 
    <version>6.1.22</version> 
    <configuration> 
    <scanIntervalSeconds>1</scanIntervalSeconds> 
    </configuration> 
</plugin> 

활성화되면 의해 ${project.build.outputDirectory}를 가리키는 classDirecory에 정의 된 디렉토리 (스캔 부두 받는다는 플러그인 기본값은 target/classes입니다.).

그러면 IDE를 target/classes (또는 mvn compile)으로 컴파일하면됩니다. 그러면 Java 클래스 변경시 Jetty가 컨텍스트를 다시 시작합니다.

+0

고맙습니다. :) – portoalet

+0

부두가 수업을 재배포하는 동안 404 오류가 있습니다. 어떤 제안이 그들을 피하는 방법? 또한이 질문을 참조하십시오 : http://stackoverflow.com/questions/23343243/jetty-404-error-page-on-hot-deployment – tholu

+1

불행히도 재사용 대기 시간이없는 재배포는 Java 세계에서 많은 노력이 필요합니다. (편집 : Will 이것을 시도하십시오 : http://www.rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ – tholu