自定义Quarkus扩展运行报错:TestHTTPConfigSourceProvider类未找到
问题原因排查与解决方案
核心原因
io.quarkus.test.common.http.TestHTTPConfigSourceProvider 是Quarkus测试组件包内的类,仅测试阶段需要加载,dev运行模式下触发类加载异常,本质是依赖作用域配置错误导致测试相关类被错误带入了运行时依赖链。
具体修复步骤
- 修正依赖scope配置
检查你的扩展的runtime、deployment模块的依赖配置,所有quarkus-test-*开头的依赖必须严格限定为测试作用域:- Maven项目:对应依赖标签增加
<scope>test</scope> - Gradle项目:使用
testImplementation声明测试依赖,禁止用implementation引入测试依赖
- Maven项目:对应依赖标签增加
- 清理重复的构建步骤逻辑
你当前的ErrorManagerProcessor中存在重复注册Provider的问题:create()方法已经标记了@BuildStep会自动生成ResteasyJaxrsProviderBuildItem,不需要额外写registerJaxRsProviders方法重复生产该构建项,直接删除registerJaxRsProviders方法即可,避免重复注册引发的额外类加载逻辑。 - 清理缓存重新构建
执行mvn clean install(Gradle对应./gradlew clean build publishToMavenLocal)清理历史构建缓存,确保错误的依赖配置被完全更新后,再在目标应用中重新引入扩展启动dev模式。
附加检查项
如果上述操作后仍有问题,检查使用该扩展的目标应用的依赖配置:不要将扩展的deployment模块直接作为runtime依赖引入,Quarkus扩展的deployment模块仅在构建阶段生效,应通过扩展的runtime模块的optional依赖自动引入,或在Quarkus插件配置中声明。
内容的提问来源于stack exchange,提问作者godo57
相关产品推荐
相关产品推荐

