You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置gradlew使其全部请求均指向本地Nexus仓库?

离线环境下将Gradle所有请求重定向到Nexus的解决方案

1. 全局Gradle仓库代理配置

先在构建机器的全局Gradle配置文件中锁死仓库源,避免项目零散配置的干扰:

  • 配置路径:~/.gradle/gradle.properties(Windows用户路径为C:\Users\<你的用户名>\.gradle\gradle.properties)
    添加以下配置:
# 禁用Gradle默认的远程仓库请求
systemProp.gradle.repo.http.enabled=false
systemProp.gradle.repo.https.enabled=false

然后在项目根目录的settings.gradle(Kotlin项目用settings.gradle.kts)中统一指定Nexus仓库,替换所有默认仓库:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        maven { url 'http://你的Nexus地址/repository/maven-public/' }
        maven { url 'http://你的Nexus地址/repository/google/' }
        maven { url 'http://你的Nexus地址/repository/gradle-plugins/' }
    }
}

2. 解决Android SDK的addons_list-5.xml请求问题

该请求属于Android SDK Manager范畴,需单独配置SDK镜像:

  • 方法一:修改SDK目录下的repositories.cfg(无文件则新建):
[google]
name=Google Repository
url=http://你的Nexus地址/repository/google/

[android]
name=Android Repository
url=http://你的Nexus地址/repository/android/
  • 方法二:在项目的local.properties中添加:
sdk.dir=你的本地SDK路径
sdk.repo=http://你的Nexus地址/repository/android/

注意:需确保Nexus已创建android代理仓库,指向https://dl.google.com/android/repository/,且完成资源同步。

3. 确保Nexus代理仓库配置完整

要覆盖所有Gradle和Android请求,Nexus需至少创建以下代理仓库,并加入到maven-public组仓库中:

  • maven-central:代理Maven中央仓库
  • google:代理https://maven.google.com/
  • android-repository:代理https://dl.google.com/android/repository/
  • gradle-distributions:代理Gradle官方发行版仓库(支持你之前配置的distributionUrl)

4. 验证配置

执行./gradlew clean build,查看日志中的请求地址,确认所有资源均从Nexus拉取,无外部地址请求。

内容的提问来源于stack exchange,提问作者RusArtM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 11:45:27