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

Gradle7下BootJar未打包全部依赖及静态文件问题求助

解决Gradle 7下Spring Boot可执行Jar生成问题

核心问题分析

你当前的build.gradle存在两个关键问题:

  1. 主模块c-app未应用Spring Boot核心插件org.springframework.boot,而bootJar任务正是由该插件提供的,仅在子项目配置中添加无效。
  2. bootJar配置被放在subprojects块中,导致主模块的可执行Jar打包逻辑未被正确触发。

修改后的c-app/build.gradle配置

println "Main deploy folder: ${appDeployFolder}"

// 主模块c-app单独应用Spring Boot相关插件
plugins {
    id 'org.springframework.boot' version '2.7.15' // 替换为你实际使用的Spring Boot版本,需与dependency-management兼容
    id 'io.spring.dependency-management' version '1.0.15.RELEASE'
    id 'java'
}

// 子项目通用配置(仅适用于c-app-ui等子模块)
subprojects{
    apply plugin: 'io.spring.dependency-management'
    apply plugin: "java"
    apply from: "${project(':c-app').projectDir}/copyStatic.gradle"
    apply from: "${project(':c-app').projectDir}/deployApp.gradle"
    
    deployApp.enabled = true
    copyStaticHtml.enabled = false

    dependencies{
        implementation project(":chv-lib:chv-lib-config")
        implementation("de.codecentric:spring-boot-admin-starter-client")
        implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'  
        implementation 'org.springframework.boot:spring-boot-starter'
    }
}

// 主模块的可执行Jar配置,单独提取到外层
bootJar {
    enabled = true
    mainClassName = 'com.am.c.Application'
    // 可选:自定义生成的Jar文件名
    // archiveFileName = "c-app-exec.jar"
}

关键修改说明

  • 添加Spring Boot插件:在主模块的plugins块中引入org.springframework.boot插件,这是生成可执行Jar的核心前提,它会自动处理依赖打包、主类配置等逻辑。
  • 分离主模块与子项目配置:将bootJar配置从subprojects块中移出,确保主模块的打包逻辑独立生效,子项目仅保留通用的Java和依赖管理配置。
  • 版本匹配:确保org.springframework.boot和io.spring.dependency-management的版本兼容(Gradle 7推荐Spring Boot 2.5+版本)。

生成与启动可执行Jar

  1. 执行打包命令:在项目根目录运行 ./gradlew bootJar(Windows系统用gradlew.bat bootJar)。
  2. 找到生成的Jar:打包完成后,可执行Jar位于c-app/build/libs/目录下,文件名默认包含项目名和版本号。
  3. 启动应用:运行 java -jar c-app/build/libs/[生成的Jar文件名].jar 即可启动应用。

内容的提问来源于stack exchange,提问作者THULASI RAM S

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 23:14:54