我使用jdk 1.7,jekins,maven,当我构建项目时,单元测试失败,错误是:
java.lang.VerifyError:在分支目标73处期望一个堆栈映射框架
异常详细信息:位置:
com / DataDictDao.save(Lcom / DataDict;)Ljava / lang / Long; @ 25:lcd原因:
在此位置的预期堆栈图框架。字节码:
0000000:033d 11ff ff3e 1212 1100 25b8 0018 2ab4
0000010:0022 122d b900 3302 0012 1211 0027 b800
0000020:182a b400 352b b900 3a02 0012 1211 0028
0000030:b800 182a b400 2212 3cb9 0033 0200 1212
0000040:1100 2cb8 0018 a700 2d12 1211 0029 b800
0000050:183a 0412 1211 002a b800 182a b400 2212
0000060:3e19 04b9 0042 0300 1212 1100 2bb8 0018
0000070:1904 bf12 1211 002d b800 182b b600 48b8
0000080:004e b0异常处理程序表:
bci [25,62] =>处理程序:73 Stackmap表:
same_locals_1_stack_item_extended(@ 81,Object [#43])
same_frame(@ 123)
在java.lang.Class.getDeclaredConstructors0(本机方法)处
java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)在
java.lang.Class.getDeclaredConstructors(Class.java:1901)在
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:231)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1002)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:975)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)
在
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)
在
org.springframework.beans.factory.support.AbstractBeanFactory $ 1.getObject(AbstractBeanFactory.java:296)
在
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
在
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:293)
在
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
在
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628)
在
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
在
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
在
org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:120)
在
org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60)
在
org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)
在
org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248)
在
org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)
在
org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)
在
org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:122)
在
org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:105)
在
org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:74)
在
org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:312)
在
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)在
org.springframework.test.context.junit4.SpringJUnit4ClassRunner $ 1.runReflectiveCall(SpringJUnit4ClassRunner.java:288)
在
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
在
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:284)
在
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:231)
在
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:88)
在org.junit.runners.ParentRunner处$ 3.run(ParentRunner.java:238)在
org.junit.runners.ParentRunner $ 1.schedule(ParentRunner.java:63)在
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)在
org.junit.runners.ParentRunner.access $ 000(ParentRunner.java:53)在
org.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:229)在
org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)
在
org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)
在org.junit.runners.ParentRunner.run(ParentRunner.java:309)处
org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:174)
在
org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:252)
在
org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:141)
在
org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:112)
在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
在
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在java.lang.reflect.Method.invoke(Method.java:606)在
org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
在
org.apache.maven.surefire.booter.ProviderFactory $ ProviderProxy.invoke(ProviderFactory.java:165)
在
org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
在
org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)
在
org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
我在maven MAVEN_OPTS中尝试了-noverify和-XX:-UseSplitVerifier,但都没有用,有人能告诉我为什么我得到这个错误,如何解决?
参考方案
我遇到过同样的问题。解决方案是将-XX:-UseSplitVerifier
添加到surefire插件配置中:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine> -XX:-UseSplitVerifier</argLine>
</configuration>
</plugin>
(省略了我的插件配置的无关详细信息。)
我正在使用JDK 1.7和Maven 3.2.3。
对于JDK 1.8,使用:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine> -noverify </argLine>
</configuration>
</plugin>
Java:线程主java.lang.NoClassDefFoundError中的异常 - java我正在尝试使Red5 Flash Media Server在我的计算机上工作。我已经安装了它,但是在运行服务器时出现此错误:- Exception in thread "main" java.lang.NoClassDefFoundError: org/red5/server/Bootstrap Caused by: java.lang.…
不兼容的类型:java.lang.Object无法转换为T - java这是我的代码:package datastructures; import java.util.Iterator; public class Stack<T>{ private class Node<T>{ T data; Node next; } private int size; private Node head; privat…
无法解析类型java.lang.CharSequence。从所需的.class文件间接引用它 - java尝试从GitHub编译某些项目时,遇到以下错误The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from required .class files 如果我没有记错的话,这是来自基本JDK的课程。怎么会无法到达? 参考方案 如上面@ hajo-the…
java:继承 - java有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…
Java:BigInteger,如何通过OutputStream编写它 - java我想将BigInteger写入文件。做这个的最好方式是什么。当然,我想从输入流中读取(使用程序,而不是人工)。我必须使用ObjectOutputStream还是有更好的方法?目的是使用尽可能少的字节。谢谢马丁 参考方案 Java序列化(ObjectOutputStream / ObjectInputStream)是将对象序列化为八位字节序列的一种通用方法。但…