异常信息
ava.lang.VerifyError: Inconsistent stackmap frames at branch target 293
Exception Details:
Location:
com/foodsafety/controller/UserController.UpdateImg(Ljavax/servlet/http/HttpServletRequest;)Ljava/lang/String; @293: goto
Reason:
Type top (current frame, locals[7]) is not assignable to integer (stack map, locals[7])
Current Frame:
bci: @139
flags: { }
locals: { 'com/foodsafety/controller/UserController', 'javax/servlet/http/HttpServletRequest', 'com/foodsafety/commons/result/Result', 'java/lang/String', 'java/lang/Integer', 'java/lang/Integer', 'com/foodsafety/model/User' }
stack: { integer }
Stackmap Frame:
bci: @293
flags: { }
locals: { 'com/foodsafety/controller/UserController', 'javax/servlet/http/HttpServletRequest', 'com/foodsafety/commons/result/Result', 'java/lang/String', 'java/lang/Integer', 'java/lang/Integer', 'com/foodsafety/model/User', integer }
stack: { }
Bytecode:
0000000: bb00 1b59 b700 1d4d 2b12 64b9 0020 0200
0000010: c700 0701 a700 0e2b 1264 b900 2002 00b6
0000020: 0026 4e2b 1266 b900 2002 00c7 0007 01a7
0000030: 0014 2b12 66b9 0020 0200 b600 26b8 0068
0000040: b800 6e3a 042b 1272 b900 2002 00c7 0007
0000050: 01a7 0014 2b12 72b9 0020 0200 b600 26b8
0000060: 0068 b800 6e3a 05bb 0060 59b7 0074 3a06
0000070: 1906 2b12 66b9 0020 0200 b600 26b8 0075
0000080: b800 7bb6 007e 1905 b600 82aa 0000 009a
0000090: 0000 0001 0000 0004 0000 001d 0000 003d
00000a0: 0000 005d 0000 007d 1906 2db6 0086 2ab4
00000b0: 0030 1906 b900 8902 0036 0715 079e 0076
00000c0: 2c04 b600 38a7 006e 1906 2db6 008d 2ab4
00000d0: 0030 1906 b900 8902 0036 0715 079e 0056
00000e0: 2c04 b600 38a7 004e 1906 2db6 0090 2ab4
00000f0: 0030 1906 b900 8902 0036 0715 079e 0036
0000100: 2c04 b600 38a7 002e 1906 2db6 0093 2ab4
0000110: 0030 1906 b900 8902 0036 0715 079e 0016
0000120: 2c04 b600 38a7 000e 4e2c 03b6 0038 2cb8
0000130: 0042 b02c b800 42b0
Exception Handler Table:
bci [8, 293] => handler: 296
Stackmap Table:
append_frame(@23,Object[#27])
same_locals_1_stack_item_frame(@34,Object[#39])
append_frame(@50,Object[#39])
same_locals_1_stack_item_frame(@67,Object[#105])
append_frame(@84,Object[#105])
same_locals_1_stack_item_frame(@101,Object[#105])
append_frame(@168,Object[#105],Object[#96])
append_frame(@197,Integer)
chop_frame(@200,1)
append_frame(@229,Integer)
chop_frame(@232,1)
append_frame(@261,Integer)
chop_frame(@264,1)
append_frame(@293,Integer)
full_frame(@296,{Object[#1],Object[#33],Object[#27]},{Object[#84]})
same_frame(@307)
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethods(Unknown Source)
at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:612)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:524)
at org.springframework.util.ReflectionUtils.doWithMethods(ReflectionUtils.java:510)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:241)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1069)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1042)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:510)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
at org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:666)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:632)
at org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:680)
at org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:551)
at org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:492)
at org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:136)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5253)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5543)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1263)
at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1978)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
解决方法:在jvm中配置 -XX:-UseSplitVerifier
具体解析可参考:http://blog.csdn.net/taiyangdao/article/details/53002570