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

执行gradlew fatJar报错:无法确定任务依赖,方法调用异常

问题解决

错误原因很明确:你代码里把Java文件对象的isDirectory()方法写成了IsDirectory()(首字母大写),Java方法名采用小驼峰命名规则,首字母必须小写,所以Gradle找不到这个方法,导致构建失败。

修正后的build.gradle相关配置代码如下:

jar {
    manifest {
        attributes 'Main-Class': 'gradle.Main'
    }
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
}

task fatJar(type: Jar) {
  manifest {
    attributes 'Main-Class': 'gradle.Main'
  }
  archiveClassifier = "all"
  from {
    // 注意:configurations.compile 在Gradle新版本中已被弃用,建议改用compileClasspath或直接用runtimeClasspath
    configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
  }
  with jar
}

额外提醒:configurations.compile在Gradle 7.x及以上版本已经被标记为废弃,推荐使用configurations.compileClasspath替代,或者直接只保留runtimeClasspath——因为runtimeClasspath已经包含了编译和运行时的所有依赖,这样可以避免后续版本的兼容性问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:32:05