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

Gradle执行customFatJar打包时报错找不到Path.of()符号如何解决

问题根因

Path.of(java.lang.String) 是Java 11及更高版本才新增的API,你在NetBeans中可以正常运行项目,是因为IDE内为项目单独配置的JDK版本≥11;但命令行执行Gradle任务时,Gradle默认调用的全局JDK版本低于11,编译阶段无法识别该API就会抛出找不到符号的报错。

解决步骤

  • 第一步:先验证Gradle使用的JDK版本
    在命令行执行gradle -v,查看输出中的JVM版本字段,如果版本号低于11即可确认是版本不匹配问题。
  • 第二步:在build.gradle中显式指定编译的Java版本
    追加如下配置,版本号和你项目实际使用的JDK版本保持一致即可:
    java {
        sourceCompatibility = JavaVersion.VERSION_11
        targetCompatibility = JavaVersion.VERSION_11
    }
    
    如果你使用的是Java 17,把VERSION_11改成VERSION_17即可。
  • 第三步:修复过时的Fat Jar配置(可选,避免后续依赖缺失问题)
    你当前用的configurations.compile在新版Gradle中已经被废弃,建议替换为configurations.runtimeClasspath,修改后的任务代码如下:
    task customFatJar(type: Jar) {
        manifest {
            attributes 'Main-Class': 'com.Reject.Main'
        }
        baseName = 'all-in-one-jar'
        from { configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) } }
        with jar
    }
    
  • 第四步:如果修改后仍报错,升级Gradle版本
    不同Gradle版本支持的最高JDK版本有对应要求:Java 11需要Gradle 5.0及以上版本,Java 17需要Gradle 7.3及以上版本,你可以根据自己的JDK版本升级对应Gradle即可。

内容的提问来源于stack exchange,提问作者Andhika Gannesha Gemilang

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 04:27:02