Quarkus 2.4.2.Final升级Kafka至3.x遇Jandex索引错误求助
环境与背景
- Quarkus版本:2.4.2.Final
- 目标Kafka版本:3.5.1
- 项目结构:多模块Maven项目,模块A、B依赖子模块C
原始POM配置
父POM属性片段
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <quarkus-plugin.version>2.4.2.Final</quarkus-plugin.version> <quarkus.platform.artifact-id>quarkus-universe-bom</quarkus-platform.artifact-id> <quarkus.platform.group-id>io.quarkus</quarkus.platform.group-id> <quarkus.platform.version>2.4.2.Final</quarkus.platform.version> <surefire-plugin.version>3.0.0-M5</surefire-plugin.version>
模块A的Kafka依赖
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-reactive-messaging-kafka</artifactId> </dependency>
模块B的Kafka依赖
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-kafka-client</artifactId> </dependency>
升级Kafka后的POM修改
为了升级Kafka版本,对依赖做了如下调整:
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-smallrye-reactive-messaging-kafka</artifactId> <exclusions> <exclusion> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.kafka</groupId> <artifactId>kafka-clients</artifactId> <version>3.5.1</version> </dependency>
构建错误信息
执行mvn clean install时出现以下错误:
Unable to properly register the hierarchy of the following classes for reflection as they are not in the Jandex index:
- javax.net.ssl.SSLSocketFactory (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
- org.jose4j.jwk.HttpsJwks (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
- org.jose4j.jwk.JsonWebKey (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
- org.jose4j.jwk.VerificationJwkSelector (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
- org.jose4j.jwt.consumer.JwtConsumer (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
- org.jose4j.keys.resolvers.VerificationKeyResolver (source: KafkaProcessor > javax.security.auth.spi.LoginModule)
Consider adding them to the index either by creating a Jandex index for your dependency via the Maven plugin, an empty META-INF/beans.xml or quarkus.index-dependency properties.
疑问与求助
- 根据官方说明,Quarkus 2.6.0.Final才开始支持Kafka 3.0.x,但我的应用在Gamma环境测试运行正常,这是为什么?
- 如何解决上述构建时的Jandex索引错误?
内容的提问来源于stack exchange,提问作者sourav singh

