Maven默认中央仓库配置来源及废弃jcenter仍可用问题咨询
Maven中jcenter.bintray.com仓库配置来源及相关问题解答
问题背景
在IntelliJ的Build -> Build Tools -> Maven -> Repositories设置中,显示的仓库为已废弃的https://jcenter.bintray.com。根据帮助文档,该配置来自effective pom,执行命令:
mvn org.apache.maven.plugins:maven-help-plugin:3.2.0:effective-pom -Dverbose=true
得到如下配置:
<repositories> <repository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>bintray</name> <url>https://jcenter.bintray.com</url> </repository> </repositories> <pluginRepositories> <pluginRepository> <snapshots> <enabled>false</enabled> </snapshots> <id>central</id> <name>bintray-plugins</name> <url>https://jcenter.bintray.com</url> </pluginRepository> </pluginRepositories>
但该配置未标注来源。检查%userprofile%\.m2\settings.xml无镜像配置,apache-maven-3.9.0\conf\settings.xml仅包含HTTP拦截镜像,存在以下疑问:
- 该配置来自何处?是否为内置配置?
- 为何Bintray已停运却未更新?
- 该仓库已停运为何仍能成功下载依赖(日志显示:
Downloaded from central: https://jcenter.bintray.com/org/apache/maven/maven-model/3.6.1/maven-model-3.6.1.pom (4.0 kB at 40 kB/s))
问题解答
配置来源及是否为内置配置
这个将centralID指向jcenter的配置不是Maven内置配置——Maven默认的central仓库地址是https://repo.maven.apache.org/maven2/。它大概率来自:
- 项目自身的pom文件,或者项目继承的父pom文件;
- 项目依赖的某个第三方库的pom文件,这类配置会通过Maven的依赖传递机制,合并到你的项目effective pom中。
你可以通过排查项目的<parent>节点,或者使用mvn dependency:tree命令分析依赖树,定位具体是哪个pom引入了该仓库配置。
为何Bintray停运却未更新
Bintray官方服务在2021年就已停止,但配置未更新的原因通常有:
- 项目或依赖的维护者未跟进仓库变更,仍保留了早年将jcenter作为central替代的配置;
- 团队内部的Maven配置未同步更新,导致旧配置一直沿用。
为何已停运仍能下载依赖
虽然Bintray官方服务已终止,但https://jcenter.bintray.com域名目前被第三方接管并做了镜像跳转——请求会被转发到其他可用的Maven仓库(如mavenCentral或其他公开镜像),因此你仍能通过该地址下载依赖。不过这种非官方镜像稳定性无法保障,随时可能失效,建议尽快将仓库地址替换为官方的mavenCentral或其他可靠镜像源。
内容的提问来源于stack exchange,提问作者end-user
相关产品推荐
相关产品推荐

