Przyczyny pobierania błędu java.lang.VerifyError

Badam następujące rzeczyjava.lang.VerifyError

<code>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)
</code>

Występuje, gdy uruchamiany jest serwer jboss, na którym wdrożony jest serwlet. Jest skompilowany z jdk-1.5.0_11 i próbowałem go ponownie skompilować bez jdk-1.5.0_15. Oznacza to, że kompilacja działa dobrze, ale po wdrożeniu występuje błąd java.lang.VerifyError.

Kiedy zmieniłem nazwę metody i otrzymałem następujący błąd:

<code>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)
</code>

Możesz zobaczyć, że więcej podpisu metody jest pokazane.

Rzeczywisty podpis metody to

<code>  private PgasePdfTable getMonthData(int month, int year, Collection dayTypes,
                          Collection calendarDays,
                          HashMap bcSpecialDays,
                          Collection activityPeriods,
                          Locale locale, MessageResources resources) throws   Exception {
</code>

Próbowałem już na to patrzećjavap i to daje podpis metody, jaki powinien być.

Kiedy moi inni koledzy sprawdzają kod, kompilują go i wdrażają, mają ten sam problem. Gdy serwer kompilacji pobiera kod i wdraża go w środowiskach programistycznych lub testowych (HPUX), występuje ten sam błąd. Również automatyczna maszyna testująca z Ubuntu pokazuje ten sam błąd podczas uruchamiania serwera.

Reszta aplikacji działa poprawnie, tylko że jeden serwlet jest nieczynny. Wszelkie pomysły, gdzie szukać, byłyby pomocne.

questionAnswers(23)

yourAnswerToTheQuestion