Решить проблему тайм-аута пакета jar загрузки gradle

Сообщение об ошибке

вставьте сюда описание изображения

Исходная конфигурация init.gradle

allprojects{
    repositories {
        maven { url 'https://maven.aliyun.com/repository/public/' }
        maven { url 'https://maven.aliyun.com/repository/jcenter/' }
        maven { url 'https://maven.aliyun.com/repository/central/' }
        maven { url 'https://maven.aliyun.com/repository/google/' }
        maven { url 'https://maven.aliyun.com/repository/gradle-plugin/' }
    }
}

решение

Общедоступная библиотека продуктов Maven находится за границей. Хотя она настроена на использование зеркального отображения Alibaba Cloud, она по-прежнему проверяет зарубежные ресурсы при извлечении пакета jar, поэтому измените конфигурацию:

def repoConfig = {
    all { ArtifactRepository repo ->
        if (repo instanceof MavenArtifactRepository) {
            def url = repo.url.toString()
            if (url.contains('repo1.maven.org/maven2')
            	|| url.contains('repo.maven.org/maven2')
            	|| url.contains('repo.maven.apache.org/maven2')
                || url.contains('jcenter.bintray.com')
                || url.contains('maven.google.com')
                || url.contains('plugins.gradle.org/m2')
                || url.contains('repo.spring.io/libs-milestone')
                || url.contains('repo.spring.io/plugins-release')
                || url.contains('repo.grails.org/grails/core')
                || url.contains('repository.apache.org/snapshots')
            ) {
                println "gradle init: [buildscript.repositories] (${repo.name}: ${repo.url}) removed"
                remove repo
            }
        }
    }
 
    // Maven 镜像聚合了:central、jcenter、google、gradle-plugin
    maven { url 'https://maven.aliyun.com/repository/central' }
    maven { url 'https://maven.aliyun.com/repository/jcenter' }
    maven { url 'https://maven.aliyun.com/repository/google' }
    maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
    maven { url 'https://maven.aliyun.com/repository/public/' }
}
 
allprojects {
    buildscript {
        repositories repoConfig
    }
    repositories repoConfig
}

Меры предосторожности

  1. maven { url 'https://maven.aliyun.com/repository/central' } должен быть размещен первым, и существует порядок зависимости.
  2. Репозитории в settings.gradle и build.gradle также должны быть настроены как maven {url 'https://maven.aliyun.com/repository/gradle-plugin'}, чтобы заменить официальный, чтобы избежать тайм-аута.
  3. pluginManagement в settings.gradle добавляется следующим образом:
repositories {
        maven {
            url 'https://maven.aliyun.com/repository/gradle-plugin'
        }
}
  1. Конфигурация gradle-wrapper.properties должна использовать внутренний адрес вместо официального адреса для загрузки gradle, в противном случае также истечет время ожидания.
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.3-bin.zip

Supongo que te gusta

Origin blog.csdn.net/qq_38685503/article/details/130323623
Recomendado
Clasificación