首页 > 解决方案 > VS Code & WSL2 - 将 Java 语言级别指定为 1.8

问题描述

我在 WSL2 中使用 VS Code,并按照此链接安装了一堆 Java 扩展- 普通 Java 程序运行良好 - 能够从 VS Code 运行和调试。

虽然当我开始使用 Lambda 等 Java 8 特定功能时,它开始抱怨 Java 的源代码级别 Java 8 特性

我为 Java Home 配置了以下环境变量 配置 Java 开发

应该在设置中指定什么属性来确定源级别为 1.8 而不是更低!

编辑:底部的蓝色条表示由于某种原因,当前的 Java 运行时是 J2SE1.5。见附件J2SE1.5

单击时,它要求添加以下属性:java.configuration.runtimes因此我在 VS Code 的 WSL2 设置中添加了以下内容 - 仍然没有效果!

"java.configuration.runtimes": [
{
  "name": "JavaSE-1.8",
  "path": "/usr/lib/jvm/zulu-8-amd64",
  "default": true
}

]

标签: javalambdavisual-studio-codejava-8vscode-settings

解决方案


从Gitter得到我的回答,它从项目的构建文件中获取语言级别设置。所以我为 maven-compiler-plugin 添加了一个带有正确源和目标配置的基本 POM 文件并重新启动了 IDE。瞧,它有效!

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
    <source>${maven.compiler.source}</source>
    <target>${maven.compiler.target}</target>
</configuration>

推荐阅读