Tôi nhấn vào hành vi khó chịu này trên JBoss 4.2 trong QA, và tôi muốn nhét nó vào chồi trước khi chúng tôi đi vào sản xuất và tìm một số trường hợp góc khác.Làm thế nào bạn có thể buộc biên dịch lại jsps trong JBoss 4.2?
Một jsp Calles một phương pháp mà có chữ ký sau đây:
public void methodName(String arg)
này đã được đổi thành:
public void methodName(String arg, Object... args)
Một JSP từ trước gọi là phương pháp này qua:
methodName("param");
Khi triển khai mã đã sửa đổi, JBoss không biên dịch lại JSP và điều này gây ra sự cố trong QA. Thêm một bình luận ngớ ngẩn cho jsp đã sửa lỗi (JBoss nhận ra rằng JSP đã thay đổi và biên dịch lại nó).
Có cài đặt trên JBoss để buộc biên dịch lại các JSP khi khởi động lại không?
EDIT: Để làm rõ một số điểm trong câu trả lời, thiết lập là JSP là một phần của cuộc chiến là một phần của tai. Tai có tất cả các lớp trong đó, trong một cái lọ.
Về mong muốn biên dịch trước, nếu hệ thống không nghĩ rằng jsp cần biên dịch, sẽ biên dịch lại biên dịch lực? Nó không có vẻ như vậy. Lỗi ở đây không phải là một lỗi compliation, nó là một lỗi gọi phương thức vì chữ ký "thay đổi" (ở cấp mã byte, không thực sự ở cấp mã).
Phụ lục: Lưu ý rằng chúng tôi đã trải nghiệm trong sản xuất gần đây rằng ngay cả với cờ của câu trả lời được chấp nhận, các JSP không biên dịch lại, mặc dù JSP đã thực sự thay đổi. Lỗi lớn ở đó, nhưng bất kể, JBoss đã tắt máy bình thường. Tại thời điểm này nó là nhận được một phiên bản cũ của JBoss, nhưng nếu bạn vẫn còn sử dụng nó, xóa nội dung của thư mục công việc và tmp là cách duy nhất để chắc chắn.
Tôi không thay đổi câu trả lời được chấp nhận đơn giản chỉ vì nó thực sự đến điểm của câu hỏi đang tìm kiếm. Lỗi JBoss là một vấn đề riêng biệt.
Tuyệt vời! Tôi sẽ kiểm tra xem nó hoạt động, và nếu nó chấp nhận câu trả lời. – Yishai
+1 Cảm ơn! Chỉ cần lưu ý trong JBoss 5.1.0GA tập tin tương đương là $ JBOSS/server/default/deplyers/jbossweb.deployer/META-INF/war-deployers-jboss-beans.xml –
Cảm ơn, điều này giải quyết được một vấn đề tôi đã có với những thay đổi jsp không được phản ánh sau khi triển khai. –