play framework2+jdk1.7报异常java.lang.VerifyError: Expecting a stackmap frame at branch target 12 in me

本文介绍了在使用PlayFramework 2结合JDK 1.7时遇到的java.lang.VerifyError异常,并提供了两种可行的解决方案,一种是在build.bat文件中添加JVM参数-XX:-UseSplitVerifier,另一种是在执行run命令前设置环境变量_JAVA_OPTIONS。

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

play framework2+jdk1.7报异常java.lang.VerifyError: Expecting a stackmap frame at branch target 12 in me

[RuntimeException: java.lang.VerifyError: Bad type on operand stack Exception

原因:

JDK7参数有所改动


解决方案:

在play2.1.1/framework/build.bat文件中

java -Xms512M -Xmx1024M 。。。这一行增加JVM配置参数

java -XX:-UseSplitVerifier -Xms512M -Xmx1024M。。。  即可

或执行run命令之前执行export _JAVA_OPTIONS="-XX:-UseSplitVerifier" 


ps:

-XX:+UseSplitVerifier

使用新的Class类型校验器 。

Java5默认关闭,Java6默认启用

新Class类型校验器,将老的校验步骤拆分成了两步: 
1.类型推断。 
2.类型校验。 
新类型校验器通过在javac编译时嵌入类型信息到bytecode中,省略了类型推断这一步,从而提升了classloader的性能。 
关联选项: 
-XX:+FailOverToOldVerifier

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值