微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何使用 JUnit 5 解决这个 ASM 问题

如何解决我如何使用 JUnit 5 解决这个 ASM 问题

我使用 GWT 2.9 和 JUnit 4,但我正在考虑使用 junit-vintage-engine 增加到 5。

然而,gwt 2.9 对 ASM 7 有要求,但对于 Junit 4,这不是问题。所以我尝试将我的 jUnit 依赖项更改为

<groupId>org.junit.vintage</groupId
<artifactId>junit-vintage-engine</artifactId>
<version>5.7.1</version>

现在,在 Intellij 中尝试启动 Jetty 后,我得到:

java.lang.RuntimeException:从 jar 文件扫描入口模块信息.class 时出错:junit-vintage-engine-5.7.1.jar 引起:java.lang.UnsupportedOperationException:此功能需要ASM6

我看不出 junit Vintage 在何处依赖 ASM6,所以我不确定出了什么问题。有没有办法让我解决这个问题?指针表示赞赏。

解决方法

免责声明:我以前从未使用过 Jetty 或 GWT,只是环顾四周,因为我对您的问题很好奇。

GWT-Dev 2.9.0 有一个 Jetty 9.2.14 dependency

根据 this source,升级到 Jetty 9.4.8+ 似乎有助于在尝试扫描多版本 JAR 中的模块信息类以获取注释时解决 JDK 9+ 问题:

查看 parent POM 时,...

<properties>
  <jetty.version>9.2.14.v20151106</jetty.version>
  <asm.version>7.1</asm.version>
</properties>

...也许只需覆盖 POM 中的 jetty.version 属性就足够了。如果这还不够,您可能仍会尝试将 Jetty 工件依赖管理到 9.4.40.v20210413、10.0.2、11.0.2 或任何您认为合适且与 GWT 兼容的 API。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。