나는 다음을 조사하고있다. 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를 실행하는 자동 테스트 시스템은 서버 시작 중 동일한 오류를 보여줍니다.
나머지 응용 프로그램은 정상적으로 실행되며 하나의 서블릿 만 고장입니다. 어디를 보아도 도움이 될 것입니다.