Я получаю исключение при запуске веб-приложения, так как guice пытается создать упомянутый класс.Понимание того, как разрешить исключение «несогласованные фреймы стоп-кадров»
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)`
Я знаю о -XX: -UseSplitVerifier и -noverify варианты Jvm, но я не хочу использовать, как я хочу, чтобы убедиться, что весь код в этом проекте, по крайней мере Java версии 7.
Чтобы сделать это Было бы полезно понять, где именно это происходит в моем коде, его непонятно, что такое смещение 200, но может ли оно быть связано с номером строки?
Также кто-нибудь знает, как я могу узнать версии Java всех классов в моем пути к классам, я использую maven, поэтому есть много зависимостей, поэтому я ищу автоматический способ поиска любых классы по пути к классам, которые могут быть скомпилированы в более низкую версию java, чем 1.7?
Спасибо, Antimony, проблема в том, что этот проект зависит от примерно 100 банок, поэтому мне нужно быстро проверить, что все классы внутри всех банок соответствуют определенной версии. – PiersyP
Просто напишите сценарий Python (предполагая, что вы знаете, где расположены банки). – Antimony
Кажется, что это единственный способ проверить это, хотя я удивлен, что для этого уже не существует инструмента. – PiersyP