簡體   English   中英

在 Gradle 中使用 Nexus Repository 和其他 Repository

[英]Using Nexus Repository and Other Repository in Gradle

你能幫我解決這個問題嗎? 我必須為Netflix conductor項目使用托管在Nexus上的內部內置依賴項。 我已經設置了settings.xml ,它解析了Nexus存儲庫的存儲庫 URL。

我不明白 gradle 將如何解決這些依賴關系,目前我的 gradle 沒有搜索托管在Nexus上的內部依賴關系。

我缺少什么以便我可以使用我們的 nexus 存儲庫以及使用 Netflix 提供的存儲庫?

這些是 build.gradle 文件中的存儲庫設置。

repositories {
    mavenCentral()

    // oss-candidate for -rc.* verions:
    maven {
        url "https://artifactory-oss.prod.netflix.net/artifactory/maven-oss-candidates"
    }

    /**
     * This repository locates artifacts that don't exist in maven central but we had to backup from jcenter
     * The exclusiveContent
     */
    exclusiveContent {
        forRepository {
            maven {
                url "https://artifactory-oss.prod.netflix.net/artifactory/required-jcenter-modules-backup"
            }
        }
        filter {
            includeGroupByRegex "com\\.github\\.vmg.*"
        }
    }
}

我嘗試在maven塊之后添加以下內容,但它沒有用。

maven {
            name "server-id"
            url "https://repo.******.com/repository/***"
        }

感謝您的回復。

謝謝!

您可以通過在 settings.xml 文件和 build.gradle 文件中配置它們來使用多個存儲庫。

在 settings.xml 文件中,您可以指定應該用於所有使用相同 settings.xml 文件的項目的存儲庫。 例如,您可以在 settings.xml 文件中添加一個部分,並指定應該使用的存儲庫的 URL。

在 build.gradle 文件中,您可以指定應該用於特定項目的存儲庫。 您可以通過在 build.gradle 文件中添加以下內容來執行此操作:

repositories {
    maven {
        url 'http://my.custom.repo/maven2'
    }
    mavenLocal()
    mavenCentral()
}

在此示例中,第一個存儲庫是自定義存儲庫,第二個是本地存儲庫,第三個是中央存儲庫。

您還可以使用存儲庫塊在 build.gradle 文件中定義存儲庫,這將覆蓋設置中定義的任何存儲庫。xml

請務必注意,build.gradle 文件中定義的存儲庫的優先級高於 settings.xml 文件中定義的存儲庫。

您還可以通過在 settings.xml 文件和 build.gradle 文件中指定它們來同時使用這兩個存儲庫,在這種情況下,build.gradle 文件將具有更高的優先級,將首先用於解決依賴關系。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM