エラーレポート
元の 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
}
予防
- maven { url 'https://maven.aliyun.com/repository/central' } を最初に配置する必要があり、依存関係の順序があります。
- タイムアウトを避けるために、setting.gradle および build.gradle のリポジトリも maven { url 'https://maven.aliyun.com/repository/gradle-plugin' } として構成して、公式のものを置き換える必要があります。
- settings.gradle の pluginManagement は次のように追加されます。
repositories {
maven {
url 'https://maven.aliyun.com/repository/gradle-plugin'
}
}
- gradle-wrapper.properties 設定では、gradle をダウンロードするために公式アドレスの代わりに国内アドレスを使用する必要があります。そうしないとタイムアウトになります。
distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-7.3-bin.zip