获取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ç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出现故障。任何去哪找的想法都会有帮助。
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
提交
取消