java - Quarkus 在测试期间抛出 org.jboss.jandex.UnsupportedVersion: Version: 10
问题描述
我们有一些 Quarkus 服务,它依赖于一个包含 Jandex 索引的模块。
现在,当我们运行一个包含 @QuarkusTest 注释的测试时,我们会收到错误:
org.jboss.jandex.UnsupportedVersion: Version: 10
我们正在使用 Quarkus 2.2.1.Final 和 Jandex 插件 1.1.0(我也尝试了 1.2.0 的插件)
解决方案
这是因为 Jandex 索引是由 Jandex 2.4.0.Final 生成的,它使用更新版本的索引格式(10
特别是 version )。Quarkus 2.2使用Jandex 2.3.1.Final,它不理解新的索引格式(它只理解版本小于或等于9
)。
Jandex Maven 插件如何使用 Jandex 2.4.0.Final 有 2 种常见方式:
- 如果您没有为 Jandex Maven 插件指定 Jandex 依赖项,Jandex Maven 插件将使用它构建的任何内容。也就是说,Jandex Maven 插件 1.2.0 将使用 Jandex 2.4.0.Final。Jandex Maven 插件的早期版本使用早期的 Jandex 版本。
- 如果您为 Jandex Maven 插件指定了 Jandex 依赖项,Jandex Maven 插件将很乐意使用它。
不幸的是,Jandex 本身和 Jandex Maven 插件有不同的版本,因此要知道给定的 Jandex Maven 插件版本使用的是哪个 Jandex 版本并不是很简单。这将从 Jandex 3.0 开始发生变化,它们将在同一版本号下一起发布。
此外,不幸的是,Jandex 没有书面的兼容性承诺。我在这里添加了一个:https ://github.com/wildfly/jandex/pull/136
推荐阅读
- jquery - Moment js / Jquery ajax倒数计时器与mysql
- python - 使用 colormath 将 RGB 转换为 xyY
- reactjs - 使用 OAuth 和/或 Auth0 将 Web 应用程序作为另一个用户进行身份验证以提供支持
- search - 将表格数据转换为自然语言以用于搜索引擎的索引
- c++ - 如何在 CMake 中链接预编译库?
- c# - C# - Listbox - Listbox 垂直高度可以自动增长吗?
- c++ - 如何为 Windows 构建 Qt?
- regex - 在 Google 表格中使用数据验证仅允许使用数字、逗号和空格
- swagger - Swagger UI 页面在 localhost SSL Url 上为空白
- java - 在父抽象类方法中使用 Aspect 失败