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

Spring Boot 1.5+Gradle构建Jar缺依赖,致SpringApplicationBuilder类找不到

解决Spring Boot 1.5 Gradle构建Jar缺少依赖的问题

你的问题核心原因是Spring Boot 1.5.x版本的Gradle插件对implementation依赖配置的兼容性不足,导致构建出来的可执行Jar没有将依赖包打包到BOOT-INF/lib目录下,最终启动时抛出ClassNotFoundException。

具体解决方案:

  1. 替换依赖配置关键字
    Spring Boot 1.5.x版本的Gradle插件默认只识别compile配置的依赖并将其打包到可执行Jar中,把build.gradle里的implementation全部替换为compile:

    dependencies {
        compile('org.springframework.boot:spring-boot-starter-web')
        compile('org.springframework.boot:spring-boot-starter-jdbc')
        compile('org.springframework.boot:spring-boot-starter-data-jpa')
        // 其他依赖保持原有配置即可
    }
    
  2. 清理并重新构建
    执行命令清理旧构建产物,重新生成包含完整依赖的Jar:

    ./gradlew clean build
    
  3. 验证Jar内容
    解压生成的Jar文件,检查BOOT-INF/lib目录,确认里面已经包含所有需要的依赖包(比如spring-boot-1.5.22.RELEASE.jar等核心依赖)。

  4. 测试Jar启动
    再次使用java -jar命令启动Jar,确认异常是否消除:

    java -jar build/libs/your-app-filename.jar
    

补充说明:

implementation是Gradle 3.4及以上版本引入的新依赖配置项,但Spring Boot 1.5.x的插件(对应版本1.5.22.RELEASE)并未适配该配置的打包逻辑,因此依赖不会被自动加入到可执行Jar的依赖目录中。如果一定要使用implementation,需要手动配置bootJar任务来强制包含这些依赖,但直接替换为compile是最简便可靠的方案。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 09:12:33