我们有一些 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 本身和 Jandex Maven 插件有不同的版本,因此要知道给定的 Jandex Maven 插件版本使用的是哪个 Jandex 版本并不是很简单。这将从 Jandex 3.0 开始发生变化,它们将在同一版本号下一起发布。
此外,不幸的是,Jandex 没有书面的兼容性承诺。我在这里添加了一个:https ://github.com/wildfly/jandex/pull/136
我们发现 Jandex 插件版本 1.1.0 和 1.2.0 都会导致此问题,但版本 1.1.1 运行良好。