2013-05-22 27 views
5

Khi phát triển Servlet bằng Tomcat và Eclipse, tôi thấy rằng tôi phải khởi động lại Tomcat khi tôi thay đổi mã cho Servlet của mình, hoặc tôi sẽ không thấy gì đã bị thay đổi.Tại sao tôi phải khởi động lại Tomcat mỗi khi tôi thay đổi mã cho servlet của tôi?

Tại sao tôi phải làm điều đó?

Có cách nào để thấy sự thay đổi mà không cần khởi động lại Tomcat?

+1

Khi bạn thay đổi một lớp, bạn phải khởi động lại tomcat, khi bạn thay đổi một JSP bạn không phải làm. Tôi biết rằng có các tùy chọn của JREBEL thanh toán "triển khai nóng" và như vậy. – alfasin

+1

có thể trùng lặp của [Có để khởi động lại tomcat bất cứ khi nào bạn thực hiện thay đổi] (http://stackoverflow.com/questions/4371724/having-to-restart-tomcat-whenever-you-make-a-change) – alfasin

+2

Xin chào câu hỏi này đã được hỏi trước đó. Đây là một liên kết để giúp bạn với nó. http://stackoverflow.com/a/4371821/2392140 –

Trả lời

1

Các lớp java bạn đang chỉnh sửa được biên dịch thành các tệp lớp, được tải bởi trình nạp lớp Tomcat khi Tomcat khởi động ứng dụng của bạn. Nhưng trình nạp lớp không cố tải các phiên bản mới của lớp sau khi Tomcat khởi động ứng dụng của bạn.

Eclipse có một tính năng gọn gàng được gọi là "thay thế mã nóng" nhưng nó chỉ hoạt động khi bạn đang gỡ lỗi ứng dụng của mình. Trong trường hợp này, Eclipse biên dịch mã của bạn khi bạn đang chỉnh sửa (cho dù bạn có đang gỡ lỗi) hay không, và sau đó Eclipse cố tải vào các lớp mới được chỉnh sửa mà nó đã biên dịch. Nhưng nó chỉ hoạt động khi gỡ lỗi ứng dụng của bạn.

Một tùy chọn khác là thử một plugin JVM như JRebel có thể hoán đổi các lớp của bạn bất kể bạn có gỡ lỗi hay không.

+0

"Thay thế mã nóng" thực sự được gọi là HotSwap và có sẵn trong tất cả các IDE. –

3

Bạn có thể định cấu hình tomcat để tải lại tự động các servlet của bạn, định cấu hình lại thuộc tính có thể tải lại thành đúng ngữ cảnh.

Để làm Tomcat 7, bạn phải làm.

  1. Sửa CATALINA_HOME/conf/context.xml
  2. Thay đổi:
<Context> 

Mục đích:

<Context reloadable="true"> 

đâu CATALINA_HOME là cài đặt tomcat của bạn

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