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

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

你可能感兴趣的:(web开发)