Tôi đang điều tra như sau java.lang.VerifyError
java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMonthData signature: (IILjava/util/Collection;Ljava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageRe˜̴Mt̴MÚw€mçw€mp:”MŒŒ
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357)
at java.lang.Class.getConstructor0(Class.java:2671)
Nó xảy ra khi máy chủ jboss trong đó servlet được triển khai được khởi động. Nó được biên dịch với jdk-1.5.0_11 và tôi đã cố gắng biên dịch lại với jdk-1.5.0_15 mà không thành công. Đó là quá trình biên dịch chạy tốt nhưng khi được triển khai, java.lang.VerifyError xảy ra.
Khi tôi thay đổi tên phương thức và gặp lỗi sau:
java.lang.VerifyError: (class: be/post/ehr/wfm/application/serviceorganization/report/DisplayReportServlet, method: getMD signature: (IILjava/util/Collection;Lj ava/util/Collection;Ljava/util/HashMap;Ljava/util/Collection;Ljava/util/Locale;Lorg/apache/struts/util/MessageResources ØÅN|ØÅNÚw€mçw€mX#ÖM|XÔM
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2357
at java.lang.Class.getConstructor0(Class.java:2671)
at java.lang.Class.newInstance0(Class.java:321)
at java.lang.Class.newInstance(Class.java:303)
Bạn có thể thấy rằng nhiều chữ ký phương thức được hiển thị.
Chữ ký phương thức thực tế là
private PgasePdfTable getMonthData(int month, int year, Collection dayTypes,
Collection calendarDays,
HashMap bcSpecialDays,
Collection activityPeriods,
Locale locale, MessageResources resources) throws Exception {
Tôi đã thử nhìn vào nó javap
và nó cho chữ ký phương thức như nó phải vậy.
Khi các đồng nghiệp khác của tôi kiểm tra mã, biên dịch mã và triển khai nó, họ có cùng một vấn đề. Khi máy chủ xây dựng lấy mã và triển khai nó trên các môi trường phát triển hoặc thử nghiệm (HPUX), lỗi tương tự xảy ra. Ngoài ra, một máy kiểm tra tự động chạy Ubuntu cho thấy lỗi tương tự trong quá trình khởi động máy chủ.
Phần còn lại của ứng dụng chạy ổn, chỉ có một servlet bị lỗi. Bất kỳ ý tưởng nơi để tìm sẽ hữu ích.