Spring Boot可执行Jar指定JDK17启动失败,手动执行正常求助
问题原因与解决办法
错误根源:你在
.conf文件里配置的JAVA_HOME路径不对。JAVA_HOME要求指向JDK的根目录,而非java可执行文件的具体路径。你写的/opt/jdk-17/bin/java是java命令的路径,不符合配置要求。修复步骤:
- 修改
updater-new-3.0-SNAPSHOT.conf文件,把JAVA_HOME改为JDK17的根目录:JAVA_HOME=/opt/jdk-17 - 保存文件后重新启动Jar:
./updater-new-3.0-SNAPSHOT.jar
- 修改
补充说明:Spring Boot可执行Jar的启动脚本会读取
.conf里的JAVA_HOME,自动拼接$JAVA_HOME/bin/java来调用对应JDK。如果直接写可执行文件路径,脚本会错误尝试执行/opt/jdk-17/bin/java/bin/java(路径不存在),最终 fallback 到系统默认的JDK8,导致版本不兼容报错。如果你不想配置
JAVA_HOME,也可以直接在.conf里指定java可执行文件路径:JAVA_EXEC=/opt/jdk-17/bin/java启动脚本会优先使用
JAVA_EXEC指定的路径。
内容的提问来源于stack exchange,提问作者Alexey Nurmukhametov
相关产品推荐
相关产品推荐

