Micronaut项目CI/CD依赖报错:无法找到io.ktor:ktor-bom:pom:1.3.2
解决Micronaut项目中io.ktor:ktor-bom:1.3.2无法从JCenter解析的问题
问题根源
JCenter仓库已在2021年停止接收新包,目前已完全停止服务,因此项目无法从该仓库拉取io.ktor:ktor-bom:1.3.2这个传递性依赖。
解决方案
替换依赖仓库,优先使用Maven Central
Ktor的所有版本都已同步到Maven Central,只需调整项目的仓库配置,将Maven Central设为优先仓库,移除或注释掉JCenter的配置:
以Maven为例,修改pom.xml中的仓库配置:<repositories> <repository> <id>mavenCentral</id> <url>https://repo1.maven.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <!-- 注释或删除JCenter配置 --> <!-- <repository> <id>jcenter</id> <url>https://jcenter.bintray.com</url> </repository> --> </repositories>强制导入Ktor BOM覆盖传递性配置
如果Micronaut BOM仍指向JCenter拉取Ktor依赖,可以在项目的dependencyManagement中显式导入Ktor BOM,确保依赖从可用仓库拉取:<dependencyManagement> <!-- 先导入Micronaut BOM --> <dependency> <groupId>io.micronaut</groupId> <artifactId>micronaut-bom</artifactId> <version>2.0.1</version> <type>pom</type> <scope>import</scope> </dependency> <!-- 显式导入Ktor BOM,覆盖传递性配置 --> <dependency> <groupId>io.ktor</groupId> <artifactId>ktor-bom</artifactId> <version>1.3.2</version> <type>pom</type> <scope>import</scope> </dependency> </dependencyManagement>升级Micronaut版本(推荐)
Micronaut 2.0.1是较旧的版本,后续更新的Micronaut BOM已移除对JCenter的依赖,全部使用Maven Central。升级到2.x分支的最新稳定版(如2.5.13)或更高版本(如3.x、4.x),不仅能解决仓库问题,还能获得安全补丁和功能增强。
验证步骤
修改配置后,先在本地执行mvn clean install(Maven项目)或gradle clean build(Gradle项目),确认依赖可正常拉取,再提交代码到CI/CD流水线测试。
内容的提问来源于stack exchange,提问作者Alejandro
相关产品推荐
相关产品推荐

