簡體   English   中英

Gradle下載依賴合並到Maven本地存儲庫?

[英]Gradle download dependency merge into maven local repository?

這是我們項目中第一次使用 gradle,我們使用的是本地 maven 存儲庫。 現在我有一個問題:是否可以讓 gradle 下載依賴項自動合並到本地 maven 存儲庫中? 是否有任何配置或插件可以解決? 非常感謝!

簡短的回答是:不可能!

Gradle 有自己的緩存,盡管它可以像這樣讀取 maven 本地 repo:

repositories {
    mavenLocal()
    mavenCentral()
}

如果在 maven 本地 repo 中找不到某些依賴項,Gradle 將從 maven Central 下載它並將其緩存在 ~/.gradle/caches/...

http://forums.gradle.org/gradle/topics/cache_dependencies_into_local_maven_repository_from_gradle

我不知道有一個隨時可用的gradle插件。

當您說“本地maven存儲庫”時,您的意思是您的公司網絡中托管的企業存儲庫,或者您是指〜.m2 / repository上的開發人員框中的本地存儲庫嗎?

雖然 Gradle 有自己的緩存,但文件存儲在類似於 Maven 本地存儲庫的結構中。 要使用 Gradle 緩存中的依賴項更新 Maven 本地,這里是任務和配置:

repositories {
    mavenLocal()
}

dependencies {
 // Place your dependencies here
}

build {
    finalizedBy 'cacheToMavenLocal'
}

task cacheToMavenLocal(type: Copy) {
    from new File(gradle.gradleUserHomeDir, 'caches/modules-2/files-2.1')
    into repositories.mavenLocal().url
    eachFile {
        List<String> parts = it.path.split('/')
        it.path = [parts[0].replace('.','/'), parts[1], parts[2], parts[4]].join('/')
    }
    includeEmptyDirs false
}

該任務是從@Adrodoc55 在 Gradle 論壇上的回答中復制和改編的。

暫無
暫無

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

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