如何使用 Gradle 下载 JAR?

问题描述 投票:0回答:2

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

如何使用 Gradle 将一堆 JAR 依赖项下载到

lib
目录中,位于
build.gradle
所在的同一目录下?目前,我不需要它做任何其他事情。

这是我到目前为止所拥有的:

apply plugin: "java"

repositories {
    mavenCentral()
}

buildDir = "."
libsDirName = "lib"

dependencies {
    runtime group: "...", name: "...", version: "..."
}

如果我运行

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

用“.”切换“lib”属性中也不起作用。

gradle dependency-management
2个回答
31
投票

类似以下内容应该有效:

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'
}

0
投票

用于下载

implementation
runtimeOnly
依赖项,可以使用
configurations.runtimeClasspath
:

apply plugin: 'base'

repositories {
    mavenCentral()
}

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

task copyDependencies(type: Copy) {
    from configurations.runtimeClasspath
    into 'lib'
}

然后执行

gradle copyDependencies

© www.soinside.com 2019 - 2024. All rights reserved.