SpringBoot3问题记录

一、问题概述

闲来无事,体验一下SpringBoot3,然而启动SpringBoot报错:Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED

二、版本说明

发生问题的机器及软件版本如下:

  • Windows:10

  • IDEA:2020.1

  • Java:8

三、问题详情

闲来无事,打算体验一下SpringBoot3,使用Spring Initializr生成脚手架,具体配置如下:

在这里插入图片描述

将项目导入IDEA,却直接报错了,具体错误信息如下:

Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.For more details on the daemon, please refer to https://docs.gradle.org/8.2.1/userguide/gradle_daemon.html in the Gradle documentation.
Process command line: D:\app\Java\jdk1.8.0_231\bin\java.exe --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -XX:MaxMetaspaceSize=384m -XX:+HeapDumpOnOutOfMemoryError -Xms256m -Xmx512m -Dfile.encoding=GBK -Duser.country=CN -Duser.language=zh -Duser.variant -cp D:\app\gradle\.gradle\wrapper\dists\gradle-8.2.1-bin\5hap6b9n41hkg4jeh2au2pllh\gradle-8.2.1\lib\gradle-launcher-8.2.1.jar -javaagent:D:\app\gradle\.gradle\wrapper\dists\gradle-8.2.1-bin\5hap6b9n41hkg4jeh2au2pllh\gradle-8.2.1\lib\agents\gradle-instrumentation-agent-8.2.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.2.1
Please read the following process output to find out more:
-----------------------
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED

出现问题不要怕,开始排查。

四、排除步骤

  1. 分析错误日志,得知该问题与JVM有关。

    For example, an unrecognized jvm option is used.
    ...
    Error: Could not create the Java Virtual Machine.
    Error: A fatal exception has occurred. Program will exit.
    Unrecognized option: --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED
    
    ----------------------------------译文----------------------------------------------
    例如,使用未识别的JVM选项。
    ...
    错误:无法创建Java虚拟机。
    错误:发生了致命异常。 程序将退出。
    未识别的选项:-add-opens = java.base/java.util.concurrent.atomic = all-Unnumed
    
  2. 通过查询 SpringBoot官方文档,得知Spring Boot 3.1.2 需要 Java版本不小于Java 17

    System Requirements

    Spring Boot 3.1.2 requires Java 17 and is compatible up to and including Java 20. Spring Framework 6.0.11 or above is also required.

    我本地使用的是Java8,看来这就是原因所在了。

  3. 升级Java版本,解决问题。

    若条件允许,你可以直接卸载Java8,重新安装Java17。

    由于我自己的老项目大部分是基于Java8的,为了一个体验Demo去卸载Java8,有点得不偿失,于是我采用了基于IDEA的兼容方案,使Java8和Java17共存。具体步骤如下:

    • 依次点击 File → Project Structure → Project进入项目设置界面,点击Add SDK → Download JDK

      在这里插入图片描述

    • 选择JetBrains Runtime后,点击Download按钮,IDEA将自动下载jbr-17(其实就是Java17)

      在这里插入图片描述

    • 下载完成后,切换Project SDK,选择我们刚下载好的jbr-17,点击OK,如下图所示:

      在这里插入图片描述

    • 除此之外,你还需要更改Gradle JVM的版本。点击File → Settings → Build,Execution,Deployment → Build Tools → Gradle,将Gradle JVM同样设置为jbr-17,然后点击OK,如下图所示:

      在这里插入图片描述

  4. 刷新Gradle,构建成功

    在这里插入图片描述

    问题成功解决,nice。

五、参考文档

Getting Started (spring.io)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值