【问题标题】:java.lang.VerifyError: Expecting a stackmap frame at branch target JDK 1.7 with goal sitejava.lang.VerifyError:在分支目标 JDK 1.7 处期望堆栈图帧和目标站点
【发布时间】:2015-01-28 14:15:12
【问题描述】:

在将我们的项目升级到 JDK 7 和 JEE7 时,我遇到了验证错误,但日志中没有任何可用信息,即使打开了调试标志也是如此。我正在使用可用的最新 maven 版本,即 V3.2.5,所有插件都具有今天的最新版本!在 win7 上来自 Oracle 的 Eclipse Luna 和 jdk1.7.0_76 64 位。其他答案中建议的 VM 参数 -XX:-UseSplitVerifier 不会改变任何事情!但我可以肯定地说:有了 maven 目标:打包、安装或部署,因为没有发生验证错误,并且每个 Junit 测试都是绿色的。验证错误显示给定的目标“站点”!然后没有一个 JUnit 测试通过!不用说,JDK 6 在同一个项目中从未出现过这个问题,该项目始于 3 年多前,并且在许多站点的生产环境中成功运行!谁知道为网站目标生成报告时会出现什么问题?

【问题讨论】:

  • site 阶段使用您使用的报告插件,尝试在您配置的其他报告中生成Surefire 报告,这似乎是失败的地方。无论您看到的堆栈跟踪对您有多大帮助,都必须添加到 OP 中。
  • 你是正确的要求堆栈跟踪。我仔细查看了自己的结果,并看到生成站点时仅通过了junit测试,因为它们仅在打包时通过了。问题来自 emma-maven-plugin!在注释掉使用 emma-plugin 站点生成按预期工作时!我会试着找出艾玛有什么问题!

标签: java maven junit verification


【解决方案1】:

我遇到了同样的问题,使用了以下配置,它工作正常。

<plugin>
    <groupId>org.jacoco</groupId>
    <artifactId>jacoco-maven-plugin</artifactId>
    <configuration>
        <propertyName>jacoco.agent.argLine</propertyName>
    </configuration>
</plugin>

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>2.10</version>
    <configuration>
        <argLine>-XX:-UseSplitVerifier ${jacoco.agent.argLine}</argLine>
    </configuration>
</plugin>

【讨论】:

    猜你喜欢
    • 2013-02-13
    • 2014-12-31
    • 2014-10-22
    • 2014-09-19
    • 2021-03-26
    • 1970-01-01
    • 2017-02-22
    • 2017-01-07
    相关资源
    最近更新 更多