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

Gradle构建带依赖JAR报错Cannot convert the provided notation to a File or URI

问题原因

你的Gradle构建脚本中jar任务的配置存在作用域错误:

  • 用于指定任务依赖的dependsOn configurations.runtimeClasspath、用于合并所有依赖包的from块,被错误嵌套进了manifest {}配置块内部。
  • manifest块的作用仅为配置Jar包的清单文件属性,无法识别你传入的zipTree集合类型,因此触发了提供的参数无法转换为File/URI的类型报错。

解决方案

  1. 把dependsOn和from配置移动到manifest块外部,和manifest平级即可。
  2. 可选添加重复文件策略配置,避免多依赖存在同名文件时构建失败。
  3. 你已经在plugins块声明了java插件,冗余的apply plugin: 'java'可以直接删除。

修正后的jar任务配置如下:

jar {
    manifest {
        attributes(
                'Main-Class': 'com.darkascendants.DABot'
        )
    }
    dependsOn configurations.runtimeClasspath
    from {
        configurations.runtimeClasspath.findAll { it.name.endsWith('jar') }.collect { zipTree(it) }
    }
    // 解决多依赖中同名文件冲突问题
    duplicatesStrategy = DuplicatesStrategy.EXCLUDE
}

修改配置后重新执行jar任务即可正常构建包含所有依赖的可执行Jar包。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 11:00:04