java.lang.VerifyError:JVMVRFY012堆栈形状不一致;
在WAS8.5.5中部署Maven项目时,我遇到以下错误 我已经在WAS中安装了JDK1.6和1.7 错误500:org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常为java.lang.VerifyError:JVMVRFY012堆栈形状不一致;class=com/xyz/simtools/savings/jaxb/SavingsInput\u jaxb\u反序列化\u存根,method=write(ILjava/lang/Object;)V,pc=356 我注意到的事情:java.lang.VerifyError:JVMVRFY012堆栈形状不一致;,java,websphere,java-7,ibm-was,Java,Websphere,Java 7,Ibm Was,在WAS8.5.5中部署Maven项目时,我遇到以下错误 我已经在WAS中安装了JDK1.6和1.7 错误500:org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常为java.lang.VerifyError:JVMVRFY012堆栈形状不一致;class=com/xyz/simtools/savings/jaxb/SavingsInput\u jaxb\u反序列化\u存根,method=write(ILjava/l
我错过什么了吗?还有什么我需要注意的变化吗?好吧,我终于想出来了
分析:出现问题的原因是“jaxb”依赖版本。在里面 我的一些依赖项目“jaxb”依赖项没有包含在ivy.xml中。。。这允许编译器将JDK中存在的jaxb作为依赖项。然而,在其他依赖项项目中,“jaxb”依赖项是在ivy中明确定义的,有一些版本。。。因此,依赖项项目使用不同的jaxb版本编译,最终将通过“VerifyError”wrt编译到jaxb
解决方案:通过在ivy中为依赖项项目添加“jaxb”版本来解决问题,该项目没有明确的jaxb版本,在主项目中也没有Maven依赖项。我也有同样的问题,但在我的情况下,问题和修复是不同的 (可能)原因:我对问题原因的判断是相同API的两个版本实现之间的冲突。在设计时,在我的工作站上(根据我所在地的既定规则),我的IDE使用IBM JDK实现的SAAJ 1.4来编译我的Web服务类
IBM\jdk\jre\lib\rt.jar/com\sun\xml\internal\messaging\saaj\soap\SOAPDocumentImpl.class
在运行时,使用Tomee(Tomcat)1.7.3,在整个路径中加载相同的类:
$TOMEE_HOME\lib\saaj-impl-1.3.18.jar/com\sun\xml\internal\messaging\saaj\soap\SOAPDocumentImpl.class
这导致在执行Web服务时出现验证错误:
- java.lang.VerifyError:JVMVRFY012堆栈形状不一致李>
- (葡萄牙语): java.lang.VerifyError:JVMVVRFY012 pilha格式不一致李>
请注意,我的开发工作站不是开发/生产(主机)环境,存在此问题。由于工作站配置文件的规则,我发现这是一个可行的解决方法。请问您是如何在ivy中添加jaxb的?