java.lang.VerifyError: Expecting a stackmap frame at branch target

本文介绍了解决 Java 应用程序在从 JDK 1.6 升级到 JDK 1.7 后出现的 java.lang.VerifyError 错误的方法。提供了一种通过禁用 SplitVerifier 来解决此问题的具体步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

java.lang.VerifyError: 
Expecting a stackmap frame at branch target 51
Exception Details:
  Location:
    com/suning/ospos/pushapi/controller/PushAuthController.$jacocoInit()[Z @4: ifnonnull
  Reason:
    Expected stackmap frame at this location.
  Bytecode:
    0000000: b200 a259 c700 2f57 b200 a806 bd00 aa59
    0000010: 0314 00ab b800 b153 5904 12b2 5359 0510
    0000020: 28b8 00b7 535a b600 ba57 0332 c000 bb59
    0000030: b300 a2b0                              

背景:

java源代码是用jdk1.6下开发的,后来环境上替换安装了jdk1.7编译运行。运行报错!!!

解决方法:

在eclipse中给jdk设置参数:-XX:-UseSplitVerifier

Preferences->Java->Installed JREs->双击选择的jdk,在弹出对话框的Default vm arguments输入:-XX:-UseSplitVerifier


如果是LINUX 服务:
修改catalina.sh 加上
JAVA_OPTS= -XX:-UseSplitVerifier

windows:

修改catalina.bat

set JAVA_OPTS= -XX:-UseSplitVerifier


如果是 surfire 单元测试:

[html]  view plain  copy
  1. <plugin>  
  2.                 <groupId>org.apache.maven.plugins</groupId>  
  3.                 <artifactId>maven-surefire-plugin</artifactId>  
  4.                 <version>2.19</version>  
  5.                 <configuration>  
  6.                     <includes>  
  7.                         <include>**/*Test.java</include>  
  8.                     </includes>  
  9.                     <excludes>  
  10.                         <exclude>**/*IntegrationTest.java</exclude>  
  11.                     </excludes>  
  12.                     <argLine>${argLine} -server -XX:PermSize=512m -XX:MaxNewSize=1024m -XX:-UseSplitVerifier</argLine>  
  13.                 </configuration>  
  14.                 <dependencies>  
  15.                     <dependency>  
  16.                         <groupId>org.apache.maven.surefire</groupId>  
  17.                         <artifactId>surefire-junit47</artifactId>  
  18.                         <version>2.19</version>  
  19.                     </dependency>  
  20.                 </dependencies>  
  21.             </plugin>  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值