如何在不实际构建内容的情况下制作gradle下载依赖项

mic*_*has 7 java gradle

在新环境上gradle build需要很长时间,因为必须下载所有依赖项.

有没有办法只下载依赖项,以加快以下构建?

这样我们就可以预先填充CI构建环境.

Mic*_*ter 14

考虑一下build.gradle(作为一个任意的,具体的例子):

apply plugin: 'java'

repositories {
    jcenter()
}

dependencies {
    compile 'org.apache.commons:commons-io:1.3.2'
    compile 'org.kie.modules:org-apache-commons-lang3:6.2.0.Beta2'
}
Run Code Online (Sandbox Code Playgroud)

然后gradle dependencies将列出依赖项并将其下载为副作用.

  • 它似乎只下载元信息(pom),而不下载实际的 jar 文件(使用 Gradle 6 测试)。 (4认同)

Sam*_*eri 11

我发现./gradlew dependencies(正如该用户建议的那样)对于 Docker 构建来说非常方便。


小智 6

您可以创建一个解决所有配置的自定义任务(这样做时,它还将下载依赖项而不构建项目)

task downloadDependencies { 
   doLast { 
       configurations.findAll{it.canBeResolved}.each{it.resolve()}
   }
}
Run Code Online (Sandbox Code Playgroud)

运行命令 ./gradlew downloadDependencies