生活随笔
收集整理的這篇文章主要介紹了
play framework 提示:VerifyError错误
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
環(huán)境
jdk:1.7 play framework:1.2.7
前言
最近要改一個(gè)web項(xiàng)目;像往常一樣,去gitlab中去拉取項(xiàng)目; 之后執(zhí)行play eclipsify生成eclipse項(xiàng)目的格式,之后導(dǎo)入; 在之后,就是啟動(dòng)項(xiàng)目,并且訪(fǎng)問(wèn)localhost:9998,結(jié)果就報(bào)錯(cuò):
Oops: VerifyError
An unexpected error occured caused by exception VerifyError: Expecting a stack map frame Exception Details: Location: controllers/adminManagement/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z @
33 : istore_3 Reason: Error exists in the bytecode Bytecode:
0000000 : b800
7 d12
782 b b800
7 a12
712 a b800
77 bb
0000010 :
0010 59 b7
0012 bf3a
0403 3 eb8
0080 1904 0000020 : bf3e b800
821 d ac Exception Handler Table: bci [
0 ,
23 ] => handler:
23 Stackmap Table: same_locals_1_stack_item_frame(@
23 ,Object[#
55 ]) play.exceptions.UnexpectedException: Unexpected Errorat play.Invoker$Invocation.onException(Invoker.java:
244 )at play.Invoker$Invocation.run(Invoker.java:
286 )at Invocation.HTTP Request(Play!)
Caused by: java.lang.VerifyError: Expecting a stack map frame
Exception Details:Location:controllers/adminManagement/Secure$Security.authentify(Ljava/lang/String;Ljava/lang/String;)Z @
33 : istore_3Reason:Error exists in the bytecodeBytecode:
0000000 : b800
7 d12
782 b b800
7 a12
712 a b800
77 bb
0000010 :
0010 59 b7
0012 bf3a
0403 3 eb8
0080 1904 0000020 : bf3e b800
821 d ac Exception Handler Table:bci [
0 ,
23 ] => handler:
23 Stackmap Table:same_locals_1_stack_item_frame(@
23 ,Object[#
55 ])at java.lang.Class.getDeclaredMethods0(Native Method)at java.lang.Class.privateGetDeclaredMethods(Class.java:
2531 )at java.lang.Class.getDeclaredMethods(Class.java:
1855 )at play.utils.JavaWithCaching.findAllAnnotatedMethods(Java.java:
528 )at play.utils.JavaWithCaching.findAllAnnotatedMethods(Java.java:
535 )at play.utils.JavaWithCaching.findAllAnnotatedMethods(Java.java:
498 )at play.utils.Java.findAllAnnotatedMethods(Java.java:
277 )at play.mvc.ActionInvoker.handleFinallies(ActionInvoker.java:
390 )at play.mvc.ActionInvoker.invoke(ActionInvoker.java:
263 )...
1 more
解決方法
經(jīng)過(guò)查詢(xún)是因?yàn)?Any tool that modifies bytecode in a version 51 classfile must be sure to update the stackmap information to be consistent with the bytecode in order to pass verification. 中文意思就是: JDK7 引入版本為51的字節(jié)碼規(guī)范,使用了嚴(yán)格的類(lèi)型檢查器,任何工具修改了字節(jié)碼的,都需要更新stackmap,但是jws修改了字節(jié)碼,而沒(méi)有更新
解決方法:啟動(dòng)參數(shù)添加 -XX:-UseSplitVerifier
具體放置位置參考這篇,講解java7、8添加的參數(shù):java.lang.VerifyError: Expecting a stack map frame
參考地址:
http://blog.csdn.net/lili625/article/details/49427635
總結(jié)
以上是生活随笔 為你收集整理的play framework 提示:VerifyError错误 的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
如果覺(jué)得生活随笔 網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔 推薦給好友。