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

Java16+Gradle构建SpringBoot项目运行bootRun报非零退出值1如何解决?

针对Java16+Gradle环境SpringBoot项目bootRun退出值1的解决方案
  • 输出详细启动日志定位具体错误
    运行以下命令打印完整堆栈和调试日志,排查具体报错根因:
    Windows环境执行:gradlew.bat bootRun --stacktrace --debug
    类Unix环境执行:./gradlew bootRun --stacktrace --debug
  • 校验版本兼容性
    Java16需要Gradle 7.0+、SpringBoot 2.5.x+的版本支持:
    检查gradle/wrapper/gradle-wrapper.properties文件中distributionUrl对应的Gradle版本是否符合要求,版本过低需升级。
    检查build.gradle中SpringBoot依赖版本,低于2.5.x需升级到匹配Java16的版本。
  • 配置JVM模块化开放参数
    Java16强化了模块化访问限制,若项目依赖的旧组件需要非法反射访问JDK内部类,需在build.gradle中添加bootRun的JVM参数配置:
    bootRun {
        jvmArgs = [
            '--add-opens', 'java.base/java.lang=ALL-UNNAMED',
            '--add-opens', 'java.base/java.util=ALL-UNNAMED',
            '--add-opens', 'java.base/java.math=ALL-UNNAMED'
        ]
    }
    
    可根据日志提示的非法访问报错,补充对应需要开放的模块。
  • 检查基础配置合法性
    1. 确认application.properties/application.yml中配置的服务端口未被占用,Windows下可执行netstat -ano | findstr [端口号]查询占用进程,结束占用进程或修改服务端口即可。
    2. 确认配置文件中数据库、Redis、MQ等第三方服务的连接参数正确,连接失败会直接导致启动异常退出。
  • 清理缓存重新构建
    执行gradlew clean build --exclude-task test跳过测试执行构建,排查构建阶段的隐藏错误。若存在依赖损坏问题,可删除项目根目录下的.gradle文件夹和全局Gradle缓存目录下的对应版本缓存,重新拉取依赖后再启动项目。
  • 校验启动类配置
    确认启动类添加了@SpringBootApplication注解,多模块项目需在build.gradle中明确指定启动类全路径:
    springBoot {
        mainClass.set("com.yourpackage.YourProjectApplication")
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:42:02