9

私の国で Gradle を使用している間、maven central から jar をダウンロードするのは非常に時間のかかる作業です。
mavenCentral を maven-nexus に変更したい:
つまり、mavenCentral を使用するときは常にoschinaを指します。

------編集------
mavenCentral を使用したプロジェクトがたくさんあるので、各ファイルを変更したくありません。

新しいスクリプトでは、maven{ url ...} を使用します簡単な方法はありますか??

誰でも助けることができますか?
ありがとう!

4

4 に答える 4

18

この変更をすべてのプロジェクトに適用する最も簡単な方法は、mavenCentral の代わりに oschina リポジトリの使用を強制する gradle init スクリプトを使用することです。あなたはこれを置くことができます:

allprojects{
    repositories {
        all { ArtifactRepository repo ->
            println repo.url.toString()
            if ((repo instanceof MavenArtifactRepository) && repo.url.toString().startsWith("https://repo1.maven.org/maven2")) {
                project.logger.warn "Repository ${repo.url} removed. Only $coporateRepoUrl is allowed"
                remove repo
            }   
        }
        maven { 
            url "http://maven.oschina.net/content/groups/public" 
        }
    }
}

gradle init ファイルに。「gradle build -I yourInitFile.gradle」を呼び出してこれを使用するか、このロジックをinit.gradleディレクトリ内のgradleホームディレクトリに保存されているファイルに入れますUSER_HOME/.gradle/。これで、明示的に設定しなくても、すべての gradle 呼び出しで取得されます-I

別のオプションは、このファイルがディストリビューションの init.d ディレクトリに保存されるカスタム gradle ディストリビューションを作成することです。

于 2014-11-21T09:39:11.350 に答える
7

それは簡単です!これの代わりに:

repositories {
    mavenCentral()
}

これを使って:

repositories {
    maven {
        url "https://..."
    }
}
于 2014-11-21T08:16:00.527 に答える
2

次のように、モジュールのディレクトリにある build.gradle ファイルにリポジトリを設定するだけです。

repositories {
    maven { url "http://maven.oschina.net/content/groups/public" }
}
于 2014-11-21T08:18:34.110 に答える
1

多くの依存関係 (つまり、すべてのbuild.gradleファイル) があり、使用しているリポジトリの URL がある場合

repositories {
    maven {
        url "https://www.myrepourl.com"
    }
}

ただし、その URL を 1 つのファイルだけで変更したい場合は、次のようにします。

  • gradle.propertiesファイルを作成し、そこに次の行を追加します。REPO_URL=https://www.myrepourl.com
  • 他のすべてのbuild.gradleファイルで、次をコピーします。

    repositories {
        maven {
            url project.REPO_URL
        }
    }
    

この方法で、さらにプロパティを追加して使用できます。これは私にとって魅力のように機能しました。乾杯!

于 2014-11-21T13:05:47.503 に答える