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