ฉันกำลังตรวจสอบสิ่งต่อไปนี้ 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)
มันเกิดขึ้นเมื่อเซิร์ฟเวอร์ jboss ที่เริ่มต้นการปรับใช้เซิร์ฟเล็ต มันถูกคอมไพล์ด้วย jdk-1.5.0_11 และฉันพยายามคอมไพล์ใหม่ด้วย jdk-1.5.0_15 โดยไม่ต้องประสบความสำเร็จ นั่นคือการรวบรวมที่ทำงานได้ดี แต่เมื่อมีการปรับใช้ java.lang.VerifyError จะเกิดขึ้น
เมื่อฉันเปลี่ยนชื่อเมธอดและได้รับข้อผิดพลาดต่อไปนี้:
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)
คุณสามารถเห็นได้ว่ามีการแสดงลายเซ็นของวิธีการมากขึ้น
ลายเซ็นวิธีการที่แท้จริงคือ
private PgasePdfTable getMonthData(int month, int year, Collection dayTypes,
Collection calendarDays,
HashMap bcSpecialDays,
Collection activityPeriods,
Locale locale, MessageResources resources) throws Exception {
ฉันลองดูด้วยjavap
แล้วและนั่นก็ให้วิธีการตามที่ควรจะเป็น
เมื่อเพื่อนร่วมงานคนอื่นของฉันตรวจสอบรหัสรวบรวมและปรับใช้พวกเขามีปัญหาเดียวกัน เมื่อเซิร์ฟเวอร์บิลด์หยิบรหัสขึ้นมาและนำไปใช้กับสภาพแวดล้อมการพัฒนาหรือการทดสอบ (HPUX) จะเกิดข้อผิดพลาดเดียวกัน นอกจากนี้ยังมีเครื่องทดสอบอัตโนมัติที่ใช้ Ubuntu แสดงข้อผิดพลาดเดียวกันในระหว่างการเริ่มต้นเซิร์ฟเวอร์
ส่วนที่เหลือของแอปพลิเคชั่นทำงานได้ดีเพียง servlet เดียวที่ไม่ได้รับการสั่งซื้อ ความคิดใด ๆ ที่จะดูจะเป็นประโยชน์