Quarkus构建报缺失url-connection-client依赖手动引入无效
报错原因
这个报错的核心触发逻辑是Quarkus构建阶段扫描AWS客户端相关配置时,没有在类路径下找到匹配版本的AWS SDK HTTP客户端实现,你之前手动加依赖不生效的原因有两个:
- 你手动指定了
url-connection-client的版本为2.17.224,和你当前使用的Quarkus 2.9.2.Final版本BOM中统一管理的AWS SDK版本不匹配,版本错位导致Quarkus扩展无法识别到该依赖 - 部分场景下手动加该依赖时如果未指定
runtime作用域,或者把依赖写到了dependencyManagement节点而非实际生效的dependencies节点,也会导致类路径扫描不到对应类
有效修复步骤
- 先把你之前手动添加的、带自定义版本号的
software.amazon.awssdk:url-connection-client依赖完全删除,不要单独为任何AWS SDK相关组件指定版本,Quarkus的平台BOM已经统一对齐了所有关联依赖的兼容版本,手动指定版本极易出现版本冲突。 - 在pom.xml的
dependencies节点下添加如下依赖,不需要写版本号,版本自动继承Quarkus BOM的配置:
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>url-connection-client</artifactId> <scope>runtime</scope> </dependency>
- 如果不想使用URL连接客户端,也可以替换为性能更好的Apache HTTP客户端实现,对应依赖如下,二选一即可:
<dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>apache-client</artifactId> <scope>runtime</scope> </dependency>
- 添加完依赖后执行
mvn clean install -U命令,强制更新依赖快照后重新构建即可。
额外排查点
如果执行完上述步骤还是报错,检查pom.xml中是否存在其他手动指定了版本的AWS SDK相关依赖,把这些依赖上的自定义版本配置全部删除,确保所有AWS SDK组件版本和Quarkus BOM对齐即可。
内容的提问来源于stack exchange,提问作者BATMAN_2008
相关产品推荐
相关产品推荐

