MavenArtifactRepository

一種 Artifact 倉庫,使用 Maven 格式來儲存 Artifact 和元數據。

此類型的倉庫由 RepositoryHandler.maven(org.gradle.api.Action) 方法群組建立。

屬性

屬性描述
allowInsecureProtocol

指定是否可以接受透過不安全的 HTTP 連線與倉庫進行通訊。

artifactUrls

用於尋找 Artifact 檔案的其他 URL。請注意,這些 URL 不用於尋找 POM 檔案。

authentication

此倉庫的驗證方案。

credentials

用於驗證此倉庫的指定類型憑證。

name

此倉庫的名稱。名稱在倉庫集合中必須是唯一的。如果未提供名稱,則會為倉庫提供預設名稱。

url

此倉庫的基本 URL。此 URL 用於尋找 POM 和 Artifact 檔案。您可以使用 MavenArtifactRepository.setArtifactUrls(java.lang.Iterable) 新增其他 URL,用於尋找 Artifact 檔案,例如 jar 檔。

方法

方法描述
artifactUrls(urls)

新增一些額外的 URL,用於尋找 Artifact 檔案。請注意,這些 URL 不用於尋找 POM 檔案。

authentication(action)

設定此倉庫的驗證方案。

credentials(credentialsType)

設定此倉庫的憑證,這些憑證將由建置提供。

credentials(credentialsType, action)

使用提供的 action 設定此倉庫的憑證。

credentials(action)

使用提供的 action 設定此倉庫的使用者名稱和密碼憑證。

metadataSources(configureAction)

設定此倉庫的元數據來源。此方法將取代任何先前設定的元數據來源。

腳本區塊

沒有腳本區塊

屬性詳情

boolean allowInsecureProtocol

指定是否可以接受透過不安全的 HTTP 連線與倉庫進行通訊。

基於安全考量,這項設定刻意要求使用者在個別情況下選擇加入使用不安全協定。

Gradle 刻意不提供全域系統/gradle 屬性來全面停用此檢查。

允許透過不安全協定進行通訊,可能會讓中間人冒充預期的伺服器,並讓攻擊者能夠 將惡意可執行程式碼提供到系統上。

另請參閱:想接管 Java 生態系統嗎?您只需要一個 MITM!

Set<URI> artifactUrls

用於尋找 Artifact 檔案的其他 URL。請注意,這些 URL 不用於尋找 POM 檔案。

AuthenticationContainer authentication (唯讀)

此倉庫的驗證方案。

T credentials (唯讀)

用於驗證此倉庫的指定類型憑證。

如果沒有為此倉庫指派任何憑證,則會為此倉庫指派指定類型的空憑證集,並傳回。

String name

此倉庫的名稱。名稱在倉庫集合中必須是唯一的。如果未提供名稱,則會為倉庫提供預設名稱。

名稱用於記錄輸出和錯誤報告,以指向與此倉庫相關的資訊。

URI url

此倉庫的基本 URL。此 URL 用於尋找 POM 和 Artifact 檔案。您可以使用 MavenArtifactRepository.setArtifactUrls(java.lang.Iterable) 新增其他 URL,用於尋找 Artifact 檔案,例如 jar 檔。

方法詳情

void artifactUrls(Object... urls)

新增一些額外的 URL,用於尋找 Artifact 檔案。請注意,這些 URL 不用於尋找 POM 檔案。

提供的value會根據 Project.uri(java.lang.Object) 進行評估。這表示,例如,您可以傳入 File 物件,或相對於專案目錄評估的相對路徑。

void authentication(Action<? super AuthenticationContainer> action)

設定此倉庫的驗證方案。

此方法針對此專案的 AuthenticationContainer 執行給定的 action。AuthenticationContainer 作為 closure 的委派傳遞給 closure。

如果沒有為此倉庫指派任何驗證方案,則會根據倉庫的傳輸方案使用預設的驗證方案集。

repositories {
    maven {
        url = "https://example.com/m2"
        authentication {
            basic(BasicAuthentication)
        }
    }
}

支援的驗證方案類型擴展 Authentication

void credentials(Class<? extends Credentials> credentialsType)

設定此倉庫的憑證,這些憑證將由建置提供。

憑證將從基於倉庫名稱的 Gradle 屬性提供。如果無法解析此倉庫的憑證,並且倉庫將在目前的建置中使用,則建置將無法啟動並指向遺失的組態。

repositories {
    maven {
        url = "https://example.com/m2"
        credentials(PasswordCredentials)
    }
}

目前 credentialsType 引數支援以下憑證類型

void credentials(Class<T> credentialsType, Action<? super T> action)

使用提供的 action 設定此倉庫的憑證。

如果沒有為此倉庫指派任何憑證,則會為此倉庫指派指定類型的空憑證集,並提供給組態 action。如果已為此倉庫指定憑證,則會將其傳遞給給定的組態 action。

repositories {
    maven {
        url = "https://example.com/aws/proxy"
        credentials(AwsCredentials) {
            accessKey = "myAccessKey"
            secretKey = "mySecret"
        }
    }
}

目前 credentialsType 引數支援以下憑證類型

void credentials(Action<? super PasswordCredentials> action)

使用提供的 action 設定此倉庫的使用者名稱和密碼憑證。

如果沒有為此倉庫指派任何憑證,則會為此倉庫指派一組空的使用者名稱和密碼憑證,並傳遞給 action。

repositories {
    maven {
        url = "https://example.com/m2"
        credentials {
            username = 'joe'
            password = 'secret'
        }
    }
}

void metadataSources(Action<? super MetadataSources> configureAction)

設定此倉庫的元數據來源。此方法將取代任何先前設定的元數據來源。