2010-03-03 33 views
14

Tôi có dự án Spring Roo và tôi sử dụng mvn jetty:run để chạy ứng dụng của mình. Vấn đề duy nhất là thay đổi đối với các lớp *.java không triển khai nóng, trong khi thay đổi thành *.jspx tiền triển khai nóng.triển khai nóng trong cầu cảng được nhúng

Vậy làm cách nào tôi có thể định cấu hình cầu nối mvn thành hotdeploy cho các lớp java?

Trả lời

22

Bạn cần phải đặt scanIntervalSeconds đến một giá trị lớn hơn 0 để kích hoạt nó:

scanIntervalSeconds - Khoảng cách trong vài giây để quét các ứng dụng web cho những thay đổi và khởi động lại bối cảnh nếu cần thiết. Bỏ qua nếu tải lại được bật. Đã tắt theo mặc định. Giá trị mặc định là: 0.

Vì vậy, sức mạnh cấu hình trông như thế này:

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

Khi được kích hoạt, các plugin cầu cảng maven sẽ quét thư mục quy định tại classDirecory (mà chỉ vào ${project.build.outputDirectory} bởi mặc định tức là target/classes) để thay đổi.

Sau đó, bạn chỉ cần có các lớp biên dịch IDE trong target/classes (hoặc chạy mvn compile) và Jetty sẽ khởi động lại ngữ cảnh khi thay đổi trên các lớp Java.

+0

Rất cám ơn! :) – portoalet

+0

Có 404 lỗi trong khi Jetty redeploys các lớp học. Bất kỳ đề nghị làm thế nào để tránh chúng? Ngoài ra xem câu hỏi này: http://stackoverflow.com/questions/23343243/jetty-404-error-page-on-hot-deployment – tholu

+1

Thật không may việc triển khai lại với thời gian ngừng hoạt động bằng không đòi hỏi nhiều nỗ lực trong thế giới Java: (Edit: Will thử cách này: http://www.rafaelsteil.com/zero-downtime-deploy-script-for-jetty/ – tholu

Các vấn đề liên quan