Я изучаю следующие 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 без succes. То есть компиляция выполняется отлично, но при развертывании происходит событие 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 показывает ту же ошибку при запуске сервера.
Остальная часть приложения работает нормально, только один сервлет не работает. Любые идеи, где искать, будут полезны.