升级至Quarkus 3.26.4后开发模式启动时无法解析OidcDevJsonRpcService
解决Quarkus 3.26.x升级后OIDC开发模式启动异常问题
问题原因
Quarkus 3.26.x版本对OIDC模块做了拆分,开发控制台相关的OidcDevJsonRpcService Bean被移至独立的quarkus-oidc-dev模块。当应用使用默认的service类型时,该模块不会被quarkus-oidc自动引入,导致CDI容器无法找到对应Bean,进而启动失败。
解决方案
方案1:保留OIDC开发控制台(手动引入依赖)
如果需要继续使用开发控制台功能,需在构建文件中手动添加quarkus-oidc-dev依赖:
Maven配置
<dependency> <groupId>io.quarkus</groupId> <artifactId>quarkus-oidc-dev</artifactId> <scope>runtime</scope> </dependency>
若仅希望在开发环境生效,可将scope改为provided。
Gradle配置
runtimeOnly 'io.quarkus:quarkus-oidc-dev'
方案2:禁用OIDC开发控制台
如果不需要开发控制台,直接在application.properties中添加以下配置即可阻止相关Bean的加载:
quarkus.oidc.dev-ui.enabled=false
注意:
quarkus.oidc.devservices.enabled=false控制的是DevServices自动启动认证服务(如Keycloak)的功能,与开发控制台无关,因此之前的配置无法解决问题。
内容的提问来源于stack exchange,提问作者Jan Vermeulen
相关产品推荐
相关产品推荐

