You need to enable JavaScript to run this app. 离线环境下用Gradle构建Spring Boot可执行Jar时bootJar任务不存在的解决方法
优惠活动
大模型
产品
解决方案
定价
更多

离线环境下用Gradle构建Spring Boot可执行Jar时bootJar任务不存在的解决方法

离线环境下Gradle构建Spring Boot可执行Jar的报错解决方案

报错根源

Task 'bootJar' not found in root project 'demo' 报错的核心原因是build.gradle中被注释掉了Spring Boot官方的核心构建插件:仅保留原生java插件的情况下,Gradle不会自动注册bootJar这类Spring Boot专属构建任务,自然无法执行对应打包操作。

分步修复操作

1. 修正build.gradle的插件配置

将原本注释掉的两个Spring Boot配套插件取消注释,和你指定的2.4.2版本保持完全匹配:

plugins {
    // 取消两行注释,匹配SpringBoot 2.4.2的插件版本要求
    id 'org.springframework.boot' version '2.4.2'
    id 'io.spring.dependency-management' version '1.0.11.RELEASE'
    id 'java'
}

两个插件的作用:

  • org.springframework.boot插件会自动注册bootJar、bootRun任务,自动完成可执行Jar的类路径配置、依赖内嵌打包逻辑
  • io.spring.dependency-management插件会统一管控Spring Boot生态的依赖版本,规避版本冲突问题

2. 适配离线构建的前置准备

离线模式下Gradle不会访问任何远程仓库,所有构建资源都必须从本地缓存读取,因此需要提前确认:

  • 本地Gradle用户目录(GRADLE_USER_HOME)的缓存中,已经完整存好上述两个构建插件、项目所有依赖的安装包
  • 建议在首次配置完成后,先在联网环境下执行一次普通构建,把所有需要的资源全部同步到本地缓存,后续断网运行就不会出现资源拉取失败的问题

3. 执行打包命令

配置修正完成后,在项目根目录执行命令即可生成可执行Jar:

gradlew bootJar --offline --stacktrace

打包完成的可执行Jar文件默认存放在项目路径下的build/libs目录中。

常见踩坑提示

  • 当前使用的Gradle 6.6.1版本和Spring Boot 2.4.2完全兼容,不需要调整gradle-wrapper.properties里的Gradle发行版配置
  • 如果取消插件注释后仍报任务不存在,先去掉--offline参数在联网模式下执行一次gradlew build,把所有缺失的资源同步到本地缓存后,再切回离线模式构建

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.03 02:57:03