升级Java 11后Spring Tools Suite启动报Missing JDK警告如何解决?
问题根因
你在工作区、项目层面配置的JDK仅作用于项目的编译、运行流程,STS本身作为Java开发工具,启动时使用的JVM是独立配置的,和工作区配置无关,因此才会出现项目配置全部正确但启动时报错的情况。
解决方案
- 调整STS启动配置
找到STS安装目录下的SpringToolSuite4.ini文件,在-vmargs行的上方添加如下两行配置:
注意-vm /usr/lib/jvm/java-11-openjdk-11.0.9.11-0.el7_9.x86_64/bin-vm和JDK的bin路径必须各占单独一行,不可合并为一行,也不可放在-vmargs行之后,否则配置无法识别。 - 校验系统默认JDK优先级
执行以下命令检查系统全局的java、javac指向:
确保两个命令选择的版本都对应你安装的java-11-openjdk-devel路径,避免STS未指定启动VM时自动调用系统默认的JRE。alternatives --config java alternatives --config javac - 验证配置生效
重启STS后,依次进入Help > About Spring Tool Suite 4 > Installation Details > Configuration标签页,搜索java.home属性,确认其值为你安装的JDK根路径即可。
内容的提问来源于stack exchange,提问作者Pr0pagate
相关产品推荐
相关产品推荐

