You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Gradle 7 如何将依赖jar包下载或复制到指定文件夹

Gradle 7 依赖下载到指定目录实现方案

Gradle 7 对依赖配置的权限做了严格拆分,原生implementation属于仅可声明依赖的配置,不允许直接解析获取对应的依赖文件,按照以下步骤配置即可实现需求:

  • 第一步:声明自定义可解析配置,继承implementation即可复用你已定义的全部依赖
configurations {
    // 自定义专门用于下载依赖的配置
    downloadJar {
        extendsFrom configurations.implementation
        // 显式声明允许解析该配置的依赖树
        canBeResolved = true
        // 仅本地解析使用,禁止作为依赖被外部项目消费
        canBeConsumed = false
    }
}
  • 第二步:修改你已有的copy任务,直接从上述自定义配置读取依赖文件即可,Gradle会自动触发依赖下载逻辑
task copyDependencyToDir(type: Copy) {
    // 源路径直接取自定义配置解析后的所有依赖文件
    from configurations.downloadJar
    // 替换为你需要的目标文件夹路径
    into "./target-libs"
}
  • 第三步:执行任务完成操作
    执行命令./gradlew copyDependencyToDir(Linux/Mac环境)或gradlew.bat copyDependencyToDir(Windows环境)即可,Gradle会自动完成依赖下载、复制到目标文件夹的全流程。

可选调整:仅下载指定依赖

如果你不需要下载全部implementation依赖,仅需要下载指定的几个jar,可以不继承implementation,单独给自定义配置添加依赖即可:

configurations {
    downloadSpecificJar {
        canBeResolved = true
        canBeConsumed = false
    }
}

dependencies {
    // 原有全局依赖声明保留不变
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-web', version: '2.1.15.RELEASE'
    implementation group: 'org.springframework.boot', name: 'spring-boot-starter-security', version: '2.0.9.RELEASE'
    
    // 单独指定需要下载的依赖
    downloadSpecificJar 'org.springframework.boot:spring-boot-starter-web:2.1.15.RELEASE'
    downloadSpecificJar 'org.springframework.boot:spring-boot-starter-security:2.0.9.RELEASE'
}

task copySpecificDependency(type: Copy) {
    from configurations.downloadSpecificJar
    into "./specific-target-libs"
}

内容的提问来源于stack exchange,提问作者Stack Underflow

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 21:42:01