Zrozumienie, jak rozwiązać wyjątek „Niespójne ramki stosu”

Otrzymuję wyjątek podczas uruchamiania aplikacji internetowej, ponieważ guice próbuje skonstruować wspomnianą klasę.

java.lang.VerifyError: Inconsistent stackmap frames at branch target 2770 in method com.aptusi.apps.magazine.api.servlet.internal.EditorServlet.service(Ljavax/servlet/http/HttpServletRequest;Ljavax/servlet/http/HttpServletResponse;Ljava/lang/String;Lcom/aptusi/persistence/runtime/framework/DboSession;)V at offset 200
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Class.java:2483)
at java.lang.Class.getDeclaredConstructors(Class.java:1891)
at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:243)
at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:96)
at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:845)
at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:772)
at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:256)
at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:205)
at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:146)
at com.google.inject.internal.InjectorImpl.getBinding(InjectorImpl.java:66)
at com.google.inject.servlet.ServletDefinition.init(ServletDefinition.java:103)
at com.google.inject.servlet.ManagedServletPipeline.init(ManagedServletPipeline.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.initPipeline(ManagedFilterPipeline.java:102)
at com.google.inject.servlet.GuiceFilter.init(GuiceFilter.java:172)`

Wiem o opcjach -XX: -UseSplitVerifier i -noverify jvm, ale nie chcę używać, ponieważ chcę mieć pewność, że cały kod w tym projekcie jest przynajmniej w wersji java 7.

Aby to zrobić Dobrze byłoby zrozumieć, gdzie dokładnie to się dzieje w moim kodzie, nie jest dla mnie jasne, jakie jest przesunięcie 200, ale czy może być związane z numerem linii?

Czy ktoś zna sposób, w jaki mogę znaleźć wersje Java wszystkich klas w ścieżce klas, używam maven, więc istnieje wiele zależności, więc szukam zautomatyzowanego sposobu znajdowania klas w ścieżce klasy które mogły zostać skompilowane do niższej wersji java niż 1.7?

questionAnswers(1)

yourAnswerToTheQuestion