VScode不支持jdk1.8的解决方案

本文介绍了如何解决VScode不支持JDK1.8的问题。尽管Java语言服务器需要JDK11以上,但项目运行可以使用任意版本。通过安装JDK17和1.8,并在VScode设置中指定JDK1.8为项目运行版本,确保项目能在JDK1.8环境下正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先参考官方文档的解释

Note: The Java language server requires JDK version 11 or above to launch it self, but this is NOT a requirement to your projects’ runtime. Check Settings for the JDK for more information about how to set the JDK for the extension itself.

即这里需要的JDK11以上的原因是因为Java language Server需要JDK11以上。但是需要注意的是官方文档同样提示

Note: The Java language server requires JDK version 11 or above to launch it self, but this is NOT a requirement to your projects’ runtime. Check Settings for the JDK for more information about how to set the JDK for the extension itself.

也就是这里配置了jdk11以后,并不是说我们的项目运行就必须用JDK11,项目运行的JDK版本可以是任意版本。

假设我的项目使用jdk1.8运行的,那么我需要安装两个版本的JDK,

  /Library/Java/JavaVirtualMachines  ls
### VSCode Java 找不到或无法加载主类 APP 的解决方案 当遇到“找不到或无法加载主类”的错误时,通常是因为Java虚拟机(JVM)未能找到指定的主类文件。这可能是由于多种原因引起的,比如包声明不匹配、编译后的`.class`文件位置不对或是项目配置有误。 对于VSCode中的Java开发环境而言,如果新创建的Java文件遇到了此类问题而旧有的可以正常工作,则可能涉及到项目的构建路径设置以及IDE内部对源码目录的认知差异等问题[^2]。 #### 配置正确的模块路径和类路径 确保在VSCode里正确设置了Java扩展所需的属性,在`settings.json`中加入如下配置来指明源代码所在的根目录: ```json { "java.project.sourcePaths": ["src/main/java"], "java.configuration.runtimes": [ { "name": "JavaSE-1.8", "path": "/usr/lib/jvm/java-8-openjdk-amd64" } ] } ``` 注意替换上述JSON片段里的路径以适应个人计算机上的实际情况。 #### 使用完整的限定名调用程序入口 考虑到App类位于名为`jar`的命名空间下,因此应当按照其全限定名称(`jar.App`)来进行启动尝试: ```bash cd D:\MavenTrainingSpace\hello-world\target\classes java -cp . jar.App ``` 这条命令通过设定当前目录作为类路径的一部分(-cp .),并利用完全合格的名字(jar.App)去定位目标执行点[^1]。 #### 清理与重建工程结构 有时候残留下来的临时文件可能会干扰正常的编译过程,建议定期清理生成的目标文件夹(target), 并让Maven重新处理整个依赖关系树: ```shell mvn clean install ``` 此操作会移除所有已编译的结果,并依据最新的POM定义再次构建应用程序[^3]。 #### 更新JDK版本及相关工具链 确认使用的JDK版本是最新的稳定版之一,并且所有的插件都处于最新状态。过期的技术栈组件可能导致兼容性方面的问题。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Morphy_Amo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值