vscode 中开发 Java 服务程序的 JDK 依赖问题的解决

前几天写完一个 Java 服务,也写了一个程序执行中的错误问题的排查小结。但是当初把 vscode 配置到可以正常运行并调试服务的状态并不是一帆风顺的。最大的问题是 JDK 的依赖问题。

机器上之前调试过一个开源的 Java 网盘应用,安装了 JDK 8。但是这次写的程序一跑,就会报最低需要 Java 11 的 JDK。

下载了 JDK 11,解压,往 vscode 的 settings.json 中增加了以下设置:

企图达到报错时的提示文字中提到的 JDK 11 只是 vscode 中 Java debugger 插件的要求,运行时仍可使用老的 Java 版本环境的效果,但怎么也做不到这种两全其美的平衡。最后还是把 JAVA_HOME 环境变量一并改掉才可以。

事后在 https://github.com/redhat-developer/vscode-java/wiki/JDK-Requirements#java.configuration.runtimes 处也能找到如下字样:

Simply defining JavaSE-11 in java.configuration.runtimes is not enough for vscode-java to start, java.home (or any of its alternative environment variables) still needs to point to a valid JDK 11 location.

看上去似乎又是说,不用动系统层面的 JAVA_HOME,而是直接指定 vscode 的 java.home 也可以。没有测试。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注