Tôi đã quản lý để làm cho điều này hoạt động trên môi trường phát triển của tôi bằng cách sử dụng tác nhân JVM được tải mùa xuân . Trong khi tôi phát triển các ứng dụng web Spring, mô tả của dự án đó có đề cập rằng nó là
có thể sử dụng trên bất kỳ mã bytecode nào có thể chạy trên JVM
Sử dụng thiết lập sau, tôi có thể nhận được các thay đổi để xuất bản tự động lên phiên bản Tomcat đính kèm (phương pháp Eclipse WTP thông thường). Tôi đang sử dụng Spring Tool Suite 3.7.3 dựa trên Eclipse Mars.2 (4.5.2).
- Tải xuống bản phát hành mới nhất JAR của Spring Loaded từ dự án Github của họ . Điều này đã được thử nghiệm với springloaded-1.2.5.RELEASE.jar.
- Thiết lập Máy chủ Tomcat trong Eclipse như bình thường (được thử nghiệm với Tomcat 8.0.30)
- Mở trang cấu hình của Máy chủ Tomcat trong Eclipse (nhấp đúp vào phiên bản máy chủ trong tab "Máy chủ").
- Trong phần "Tùy chọn máy chủ", bỏ chọn "Mô-đun tự động tải lại theo mặc định".
- Lưu ý: Nếu bạn đã thêm mô-đun web vào máy chủ, bạn có thể cần phải tắt "Tự động tải lại" trên từng mô-đun đó qua tab "Mô-đun" (ở cuối cửa sổ trang cấu hình).
- Trong phần "Thông tin chung", nhấp vào "Mở cấu hình khởi chạy"
- Trong tab "Đối số", thêm phần sau vào cuối "Đối số VM":
-javaagent:/path/to/downloaded/springloaded-1.2.5.RELEASE.jar -noverify
- Để cho phép các JAR được theo dõi ngoài
.class
các tệp của dự án , hãy định cấu hình -Dspringloaded=watchJars=
đối số VM theo nhận xét của vấn đề này .
Khởi động máy chủ và xuất bản các dự án Ứng dụng Web Động lên nó như bình thường. Một lần nữa, tôi đã có thể kiểm tra điều này với các ứng dụng web Spring. Ví dụ: sửa đổi mã, phương thức cộng / trừ, v.v. trong các lớp @Controller được áp dụng gần như ngay lập tức sau khi tôi lưu tệp và Eclipse xây dựng và xuất bản lớp đã thay đổi. Cuối cùng, phần Câu hỏi thường gặp của dự án Spring Loaded đã đề cập đến một số trường hợp mà mọi thứ sẽ không tải lại, vì vậy những trường hợp đó sẽ yêu cầu khởi động lại máy chủ / ứng dụng. Nhưng những trường hợp ngoại lệ đó ít thường xuyên hơn nhiều.
Một lưu ý nữa: Điều này KHÔNG hoạt động với Máy chủ Pivotal tc được nhúng hoặc Máy chủ VMware vFnai tc đi kèm với STS. Đối với các máy chủ đó, có tùy chọn "Bật tải lại dựa trên tác nhân Java (thử nghiệm)", nhưng tùy chọn này sử dụng bản phát hành Spring Loaded 1.2.0 cũ hơn, không hoạt động với tôi.