【问题标题】:java.lang.VerifyError: JVMVRFY012 stack shape inconsistent;java.lang.VerifyError: JVMVRFY012 堆栈形状不一致;
【发布时间】:2015-09-28 11:21:28
【问题描述】:

在 WAS 8.5.5 中部署 Maven 项目时出现以下错误。

我已经在 WAS 中安装了 JDK 1.6 和 1.7。

错误 500:org.springframework.web.util.NestedServletException:处理程序处理失败;嵌套异常是 java.lang.VerifyError: JVMVRFY012 堆栈形状不一致; class=com/xyz/simtools/savings/jaxb/SavingsInput_JAXB_Deserialization_Stub, method=write(ILjava/lang/Object;)V, pc=356

我注意到的事情:

  1. 在 Tomcat 中运行良好
  2. 根据 this 在 IBM JDK 中对此进行了一些修复,但它仍然不适合我

我尝试过的事情:

  1. 在 WAS 中尝试了两个 JDK 版本。
  2. 在 IBM 论坛中阅读 link
  3. 在 1.5 和 1.7 中编译了我的项目并尝试部署

我错过了什么吗?还有其他需要我注意的更改吗?

【问题讨论】:

    标签: java websphere java-7 ibm-was


    【解决方案1】:

    我有同样的问题,但在我的情况下,问题和修复是另一回事。

    (可能的)原因:我对问题原因的判断是同一 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:JVMVRFY012 格式不一致;

    解决方法:只需将 saaj-impl-1.3.18.jar 从 Tomee 的 lib 文件夹中取出(移动它)。 由于 Tomee/Tomcat 使用与我的 IDE 相同的 IBM JDK,我发现冲突可能是因为 saaj-impl-1.3.18.jar 位于 Tomee 的 lib 文件夹中。离开那里,让 Tomee 在运行时使用与编译时相同的实现(IBM JDK)。

    请注意,我在我的开发工作站上遇到了这个问题,不是开发/生产(主机)环境。由于工作站配置文件的规则,这是我发现对我有用的解决方法。

    【讨论】:

      【解决方案2】:

      好吧,我终于想通了..

      分析:问题是由于“jaxb”依赖版本引起的。在 我的一些依赖项目“jaxb”依赖项未包含在 ivy.xml 中...这允许编译器将 JDK 中存在的 jaxb 作为依赖项。然而,在其他依赖项目中,“jaxb”依赖项在 ivy 中明确定义了一些版本......因此,依赖项项目使用不同版本的 jaxb 编译,最终将通过“VerifyError”wrt 到 jaxb。

      解决方案:通过在 ivy 中为没有明确具有 jaxb 版本的依赖项项目以及在主项目中作为 Maven 依赖项添加“jaxb”版本来解决问题。

      【讨论】:

      • 请问您是如何在 ivy 中添加 jaxb 的?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-11
      • 1970-01-01
      • 2017-12-10
      • 2012-02-16
      • 2022-06-13
      相关资源
      最近更新 更多