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

Gradle bootRepackage生成的可执行Jar缺失依赖包,求助解决方案

解决Gradle构建Spring Boot可执行Jar时依赖缺失的问题

嘿,作为新手遇到这种情况太正常啦——问题核心在于你的Gradle配置没正确用上Spring Boot的专属插件,没法构建包含所有依赖的可执行Jar(也就是常说的Fat Jar)。普通的jar任务只会打包你自己写的代码,根本不会把Spring Boot这类依赖包一起塞进去,这就是运行时找不到org.springframework.boot类的原因。

下面是一步步的解决办法,跟着做就行:

1. 修正你的build.gradle配置

首先得确保配置文件里包含Spring Boot的核心插件和依赖管理,这是构建可执行Jar的关键。给你一个标准的Spring Boot项目build.gradle模板,你可以直接参考调整:

plugins {
    // 引入Spring Boot插件,专门用来构建带依赖的可执行Jar
    id 'org.springframework.boot' version '3.2.0' // 换成你实际用的Spring Boot版本
    // 依赖管理插件,帮你自动处理Spring Boot依赖的版本冲突
    id 'io.spring.dependency-management' version '1.1.4'
    // 基础Java项目构建插件
    id 'java'
}

// 指定Java版本,注意Spring Boot 3需要Java 17及以上,根据你的版本调整
java {
    sourceCompatibility = '17'
}

// 配置依赖仓库,用来下载需要的包
repositories {
    mavenCentral()
}

// 项目依赖配置,这里以web项目为例,按需调整
dependencies {
    // Spring Boot核心starter,包含所有基础运行依赖
    implementation 'org.springframework.boot:spring-boot-starter-web'
    // 测试依赖,不需要可以删掉
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

// 测试任务配置,可选
tasks.named('test') {
    useJUnitPlatform()
}

2. 在Eclipse中构建可执行Jar

配置好build.gradle后,按这几步操作:

  • 在Eclipse的Gradle视图里,右键点击你的项目,选择Refresh Gradle Project,让Eclipse加载新的配置。
  • 找到Gradle任务列表里的bootJar任务(一般在Tasks > application分类下),双击执行它。
  • 构建完成后,可执行Jar会生成在build/libs目录下,文件名通常是项目名-版本号.jar(比如project-0.0.1-SNAPSHOT.jar)。

3. 验证并运行Jar

  • 你可以先解压生成的Jar文件,检查里面有没有BOOT-INF/lib目录——这个目录里应该包含所有依赖包,包括Spring Boot相关的org.springframework.boot类文件。
  • 然后在终端运行命令:
    java -jar build/libs/你的Jar文件名.jar
    

新手常见坑点提醒

  • 绝对不要用普通的jar任务构建!普通jar任务生成的Jar只包含你的代码,没有依赖,这是新手最容易踩的坑。
  • 确保Spring Boot插件的版本和你依赖的Spring Boot版本匹配,避免版本冲突。
  • 如果Eclipse里找不到bootJar任务,试试重新导入项目,或者直接用命令行执行:
    # Linux/Mac系统
    ./gradlew bootJar
    # Windows系统
    gradlew.bat bootJar
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:11:51