Pau*_*aul 4 java verifyerror maven java-7
我使用jdk 1.7,jekins,maven,当我构建项目时,单元测试失败,错误是:
java.lang.VerifyError:在分支目标处期望堆栈映射表73异常详细信息:Location:com/DataDictDao.save(Lcom/DataDict;)Ljava/lang/Long; @ 25:ldc原因:此位置的预期堆栈图帧.字节代码:0000000:033d 2:11最强音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)
at java.lang.Class.getDeclaredConstructors0(Native Method)at java.lang.Class.privateGetDeclaredConstructors(Class.java:2493)at java.lang.Class.getDeclaredConstructors(Class.java:1901)at org.springframework.beans.factory .annotation.AutowiredAnnotationBeanPostProcessor.determineCandidateConstructors(AutowiredAnnotationBeanPostProcessor.java:231)处org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.determineConstructorsFromBeanPostProcessors(AbstractAutowireCapableBeanFactory.java:1002)(AbstractAutowireCapableBeanFactory .java:975)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:487)org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:458)at org. springframework.beans.factory.support.AbstractBeanFactor y $ 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 org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:628). 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)at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java):60)在Org.springframework的org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:100)org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:248). org.springframework.test.context.TestContext.getApplicationContext上的org.springframework.test.context.CacheAwareContextLoaderDelegate.loadContext(CacheAwareContextLoaderDelegate.java:91)中的test.context.CacheAwareContextLoaderDelegate.loadContextInternal(CacheAwareContextLoaderDelegate.java:64)(TestContext.java: 122)在Org.springframework.test的org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:105)org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:74) .context.TestContextManager.prepareTestInstance(TestContextManager.java:312)org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:211)位于org.junit.internal的org.springframework.test.context.junit4.SpringJUnit4ClassRunner $ 1.runReflectiveCall(SpringJUnit4ClassRunner.java:288). 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. org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)上的orners.junit.runners.ParentRunner.access $ 000(ParentRunner.java:53)org中的runners.ParentRunner $ 1.schedule(ParentRunner.java:63) org.spring的.junit.runners.ParentRunner $ 2.evaluate(ParentRunner.java:229)在org.junit.runners的org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:71)中的framework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61). 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.位于org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java)的org.apache.maven.surefire.booter.ProviderFactory $ ProviderProxy.invoke(ProviderFactory.java:165)中的invokeMethodWithArray(ReflectionUtils.java:189): 85)org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:115)org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:75)
我尝试-noverify和-XX:-UseSplitVerifier在maven MAVEN_OPTS,既没有工作,有人能告诉我为什么我得到这个错误,如何解决?
我遇到过同样的问题.解决方案是添加-XX:-UseSplitVerifier到surefire插件配置:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine> -XX:-UseSplitVerifier</argLine>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
(省略了我的插件配置的无关细节.)
我正在使用JDK 1.7和maven 3.2.3.
对于JDK 1.8,使用:
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<argLine> -noverify </argLine>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7576 次 |
| 最近记录: |