个人文章记录

心情不好就去打两把游戏,你会发现刚刚心情还挺好的

0%

Intellij IDEA 启动 SpringBoot 项目失败,java: Cannot run program

一、构建错误

使用 JetBrains 远程开发时,启动 Java8 版本的 SpringBoot 项目失败,错误示例如下

1
java: Cannot run program "/home/<redacted>/.jdks/corretto-1.8.0_352/bin/java" (in directory "/local/home/<redacted>/.cache/JetBrains/RemoteDev-IU/<redacted>/compile-server"): error=0, Failed to exec spawn helper: pid: 31592, exit value: 1

二、问题原因

这是因为项目当前使用的 JDK 版本过低,Jetbrains Gateway 的 IDE 默认构建启动过程中,使用到了 JDK 包中的 jspawnhelper 可执行文件。而 JDK8 由于版本低,未提供该工具。经实际测试,在 OracleJDK 17 和 18 版本中存在该文件。具体可以进入 JDK 包的 lib 或 jre/lib 目录中检查 jspawnhelper 是否存在。

三、解决方式

1. 等待官方修复

可以看 Jetbrains 后续是否会修复这个问题,使得构建过程可以根据 JDK 版本自动避免这个错误

2. 配置使用旧的构建方式

打开 IDE 的设置窗口,在 Build, Execution, Deployment > Compiler 中的 Shared build process VM options 的选项输入框中添加 VM Options 如下: -Djdk.lang.Process.launchMechanism=vfork。编辑完成后,保存应用即可将 JDK 配置为使用旧的启动机制。


参考错误: 前往

-------------本文结束感谢您的阅读-------------

欢迎关注我的其它发布渠道