如何使用Gradle下载JAR?

Tob*_*bia 4 dependency-management gradle

我有一个非标准的项目布局.

我如何使用Gradle将一堆JAR依赖项下载到一个lib目录中,在同一目录下build.gradle?现在,我不需要它做任何其他事情.

这是我到目前为止:

apply plugin: "java"

repositories {
    mavenCentral()
}

buildDir = "."
libsDirName = "lib"

dependencies {
    runtime group: "...", name: "...", version: "..."
}
Run Code Online (Sandbox Code Playgroud)

如果我运行gradle build,它会在lib目录中构建一个空的JAR文件,而不是在那里下载我的依赖项.

用"."切换"lib".在属性中也不起作用.

JB *_*zet 11

像下面这样的东西应该工作:

apply plugin: 'base'

repositories {
    mavenCentral()
}

configurations {
    toCopy
}

dependencies {
    toCopy 'com.google.guava:guava:18.0'
    toCopy 'com.fasterxml.jackson.core:jackson-databind:2.4.3'
}

task download(type: Copy) {
    from configurations.toCopy 
    into 'lib'
}
Run Code Online (Sandbox Code Playgroud)

  • @Alex如果你想避免传递依赖,可以通过在依赖配置中设置“{transitive = false}”来轻松处理。如[此处](https://docs.gradle.org/current/userguide/resolution_rules.html#sec:disabling_resolution_transitive_dependency)所示 (2认同)