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

Gradle使用shadowJar插件构建FatJAR无JAR文件生成问题求助

问题排查与解决方案

  1. 确认文件生成路径
    你提供的控制台日志显示所有任务均执行成功,jar和shadowJar任务都已经正常跑完,默认生成的JAR包会放在项目根目录下的build/libs/文件夹中:
  • 不含依赖的普通JAR包文件名为:<你的项目名>-1.0-SNAPSHOT.jar
  • 包含所有依赖的ShadowJAR包文件名为:<你的项目名>-1.0-SNAPSHOT-all.jar
    如果你是在IDE中运行的Gradle任务,可以额外检查IDE的Gradle配置,确认是否修改了build目录的默认输出路径,避免找错目录。
  1. 修正stage任务的依赖逻辑
    你当前的stage任务依赖配置存在逻辑漏洞:同时依赖build、shadowJar、clean三个任务,仅指定了build在clean之后执行,没有明确shadowJar的执行时机,可能出现文件生成后被异常清理的情况。
    ShadowJAR任务本身已经默认依赖完整的build流程,不需要额外重复依赖build任务,可以直接把stage任务改成如下配置:
task stage {
    dependsOn clean, shadowJar
    shadowJar.mustRunAfter clean
}

修改后重新执行stage任务即可。

  1. 补充主类配置(可选,适用于需要生成可执行JAR的场景)
    如果你的项目有入口类,需要生成可执行JAR包,需要在build.gradle中补充主类声明,否则生成的JAR包无法直接运行,配置示例如下:
jar {
    manifest {
        attributes 'Main-Class': '替换为你的主类全限定名,例如org.prithvidiamond1.Main'
    }
}

shadowJar {
    manifest {
        attributes 'Main-Class': '替换为你的主类全限定名,例如org.prithvidiamond1.Main'
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 06:39:03