java.lang.VerifyError:在分支目标5处应为stackmap帧

java.lang.VerifyError:在分支目标5处应为stackmap帧,java,postgresql,Java,Postgresql,我正在开发我的公司项目 我有两张桌子。我用一对一的关系连接到这个表。 我正在使用postgreSql @OneToMany(fetch = FetchType.LAZY) private Set<TblAgentParameters> tblAgentParameters; @JoinColumn(name = "TBL_AGENT_PROPERTY_PARAMETERS_ID") @ManyToOne(fetch = FetchType.LAZY) priv

我正在开发我的公司项目

我有两张桌子。我用一对一的关系连接到这个表。 我正在使用postgreSql

@OneToMany(fetch = FetchType.LAZY)
private Set<TblAgentParameters> tblAgentParameters;


@JoinColumn(name = "TBL_AGENT_PROPERTY_PARAMETERS_ID")
@ManyToOne(fetch = FetchType.LAZY)
private TblAgentPropertyParameters tblAgentPropertyParametersList;
@OneToMany(fetch=FetchType.LAZY)
私有设置tblAgentParameters;
@JoinColumn(name=“TBL\U代理\U属性\U参数\U ID”)
@manytone(fetch=FetchType.LAZY)
私有TblAgentPropertyParameters TblAgentPropertyParameters列表;
但我得到了这个错误

原因:java.lang.VerifyError:在分支目标5处应为stackmap帧 例外情况详情: 地点: com/karcin/template/persistence/entities/TblAgentPropertyParameters.class$(Ljava/lang/String;)Ljava/lang/class@0:aload_0 原因: 此位置应为stackmap帧。 字节码: 0x0000000:2ab8 00ef b04c bb00 f159 2bb6 00f6 b700 0x0000010:f8bf
异常处理程序表: bci[0,5]=>处理程序:5

    at java.lang.Class.forName0(Native Method)[:1.8.0_271]
    at java.lang.Class.forName(Class.java:264)[:1.8.0_271]
    at com.karcin.template.persistence.entities.TblAgentParameters.class$(TblAgentParameters.java)[79:karcin-template-persistence:1.0.0.SNAPSHOT]
    at com.karcin.template.persistence.entities.TblAgentParameters.<clinit>(TblAgentParameters.java)[79:karcin-template-persistence:1.0.0.SNAPSHOT]
    at java.lang.Class.forName0(Native Method)[:1.8.0_271]
    at java.lang.Class.forName(Class.java:264)[:1.8.0_271]
    at com.karcin.template.web.controllers.ApiController.getEntityClass(ApiController.java:154)[82:karcin-template-web:1.0.0.SNAPSHOT]
    at com.karcin.template.web.controllers.ApiController.test(ApiController.java:101)[82:karcin-template-web:1.0.0.SNAPSHOT]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)[:1.8.0_271]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_271]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_271]
    at java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_271]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)[144:org.apache.servicemix.bundles.spring-web:3.2.18.RELEASE_1]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)[144:org.apache.servicemix.bundles.spring-web:3.2.18.RELEASE_1]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)[146:org.apache.servicemix.bundles.spring-webmvc:3.2.18.RELEASE_1]
    ... 27 more
位于java.lang.Class.forName0(本机方法)[:1.8.0_271]
在java.lang.Class.forName(Class.java:264)[:1.8.0_271]
位于com.karcin.template.persistence.entities.TblAgentParameters.class$(TblAgentParameters.java)[79:karcin-template-persistence:1.0.0.SNAPSHOT]
在com.karcin.template.persistence.entities.TblAgentParameters.(TblAgentParameters.java)[79:karcin模板持久性:1.0.0.SNAPSHOT]
在java.lang.Class.forName0(本机方法)[:1.8.0_271]
在java.lang.Class.forName(Class.java:264)[:1.8.0_271]
在com.karcin.template.web.controllers.ApiController.getEntityClass(ApiController.java:154)[82:karcin模板web:1.0.0.SNAPSHOT]
在com.karcin.template.web.controllers.ApiController.test(ApiController.java:101)[82:karcin-template-web:1.0.0.SNAPSHOT]
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)[:1.8.0_271]
在sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)[:1.8.0_271]
在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)[:1.8.0_271]
在java.lang.reflect.Method.invoke(Method.java:498)[:1.8.0_271]
在org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221)[144:org.apache.servicemix.bundles.springweb:3.2.18.RELEASE\u 1]
在org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:136)[144:org.apache.servicemix.bundles.springweb:3.2.18.RELEASE\u 1]
位于org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:104)
位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandleMethod(RequestMappingHandlerAdapter.java:743)
位于org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:672)
位于org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:82)
在org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933)[146:org.apache.servicemix.bundles.spring webmvc:3.2.18.RELEASE_1]
... 还有27个

如何修复此问题。

生成字节码的内容。要么是[A]出现了错误,在这里出现了混乱,生成了一个无效的类文件,要么[B]非常陈旧1

解决办法是,嗯,修复那些乱七八糟的代码。如果这不是您的代码,那么向库提交一个bug。如果没有人再维护它,''\_(ツ)_/哦,你运气不好

无效的类文件是
com/karcin/template/persistence/entities/TblAgentPropertyParameters.class


[1]您可能不需要了解的技术细节:十多年前,java类文件格式发生了一些变化,添加了一些关于类文件本身中堆栈帧的提示。验证器是检查类文件是否“有效”的东西,并且执行类文件不会导致C代码员倾向于称之为“核心转储”的内容“-一种执行路径,它会破坏系统的安全性,并导致您的程序立即被操作系统硬杀死,或者如果操作系统无法检测到它,则会导致安全问题。Java承诺这不会发生,类验证器就是其中的一部分。类文件中的堆栈帧注册:Verification可帮助类验证器验证此堆栈帧信息是否正确,然后验证字节码是否仅访问其允许访问的内存,比验证字节码是否仅访问其允许访问的内存而不访问此信息要简单得多,也要快得多。旧类文件不允许有此注册,在这种情况下,验证er将为您添加它(但这需要很多时间,这就是为什么更现代的类文件需要它的原因)因此,我们仍然处于错误的领域:无论是什么原因使得该类文件将一个类文件版本放入其中,该版本足够高,因此需要堆栈帧注释,但没有添加它们,因此验证器拒绝该类文件。或者,因为这是10多年前的新闻,可能现在一个非常现代的VM不再能够使用r正在运行非常旧的类文件,因为此时“计算堆栈框架”代码已被删除。如果是这种情况,降级回JDK8可能会起作用,但您确实需要解决这个问题;您运行的代码已经过时10多年了。

您使用的Spring版本似乎与JVM的要求不匹配。Th正确的答案可能是更新Spring。谢谢你的回复。