獲取java.lang.VerifyError的原因我正在調查以下情況java.lang.VerifyErrorjava.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)當啟動部署servlet的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├ow┬?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出現故障。任何去哪找的想法都會有幫助。
3 回答

慕桂英4014372
TA貢獻1871條經驗 獲得超13個贊
java.lang.VerifyError
org.apache.*
ClassNotFoundException
VerifyError
String
List
.

幕布斯7119047
TA貢獻1794條經驗 獲得超8個贊
java.lang.VerifyError
utf-8
添加回答
舉報
0/150
提交
取消