为什么配置了gradle的腾讯镜像源和阿里云的依赖镜像源后,其他的依赖都是从镜像源下载,但是唯独gradle src还是从官网下载?

为什么配置了gradle的腾讯镜像源和阿里云的依赖镜像源后,其他的依赖都是从镜像源下载,但是唯独gradle src还是从官网下载?

上午好☀️☀️☀️️
本答案参考通义千问
在配置 Gradle 的镜像源时,可能会遇到某些依赖能够正确从镜像源下载,而 gradle-src.jar 仍然从官方源下载的问题。这通常是由于 Gradle 的默认行为或缓存机制导致的。以下是可能的原因及解决方案:
Gradle 的源码依赖处理方式
gradle-src.jar 文件,这是为了支持源码调试。https://services.gradle.org/distributions/)下载该文件。镜像源配置未覆盖所有依赖
gradle-src.jar 的下载路径。Gradle 缓存机制
gradle-src.jar,Gradle 会将其缓存在本地目录中,后续构建时可能会直接使用缓存,而不重新从镜像源下载。镜像源的兼容性问题
确保你的 init.gradle 文件中正确配置了镜像源,并且优先级高于默认的官方源。例如:
allprojects {
repositories {
maven {
url "https://mirrors.tencent.com/gradle/"
}
maven {
url "https://maven.aliyun.com/repository/gradle"
}
mavenCentral()
google()
}
}
注意:将腾讯或阿里云的镜像源放在最前面,以确保优先从镜像源下载。
gradle-src.jar 的下载路径如果镜像源无法提供 gradle-src.jar,可以手动指定其下载路径。例如,在 gradle.properties 中添加以下内容:
org.gradle.download.onlyUseMirror=true
这会强制 Gradle 使用镜像源下载所有依赖,包括 gradle-src.jar。
如果本地缓存中存在从官方源下载的 gradle-src.jar,可以清除缓存并重新构建项目:
# 删除 Gradle 缓存
rm -rf ~/.gradle/caches/modules-2/files-2.1/org.gradle/gradle-core/
# 重新构建项目
./gradlew clean build
gradle-src.jar 文件如果镜像源确实无法提供 gradle-src.jar,可以手动下载该文件并替换到本地缓存目录中。例如:
gradle-src.jar。~/.gradle/caches/modules-2/files-2.1/org.gradle/gradle-core/
如果现有的镜像源不完整,可以尝试使用其他更全面的镜像源。例如:
在 init.gradle 或 build.gradle 中配置:
repositories {
maven {
url "https://repo.huaweicloud.com/repository/gradle/"
}
}
有时,某些版本的 Gradle 可能对镜像源的支持不够完善。建议升级到最新版本的 Gradle,以获得更好的兼容性和性能。
通过上述方法,你应该能够解决 gradle-src.jar 始终从官方源下载的问题。以下是关键步骤的有序列表:
gradle.properties 中启用强制镜像下载。gradle-src.jar 文件。希望这些解决方案能帮助你解决问题!