VS Code & WSL2 - 指定Java语言级别为1.8。

问题描述 投票:0回答:1

我在WSL2中使用VS Code,并按照以下要求安装了一系列的Java扩展。这个环节 - 正常的Java程序运行良好--能够从VS Code中运行& Debug。

虽然当我开始使用像Lambda这样的Java 8特定功能时,它开始抱怨Java的源码级别。Java 8 features

我已经为Java Home配置了以下环境变量。Configure Java Dev

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

编辑:最下面的蓝色条上写着当前的Java Runtime是J2SE1.5,不知为什么。见附件 J2SE1.5

点击后,它要求添加以下属性。java.configuration.runtimes 所以我在VS代码的WSL2设置中添加了以下内容--仍然没有效果!

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

]

java lambda visual-studio-code java-8 vscode-settings
1个回答
1
投票

得到了我的答案,从 抖音 它从项目的构建文件中获取语言级别的设置,所以我为maven-compiler-plugin添加了一个基本的POM文件,其中包含适当的源码和amp;目标配置,并重新启动IDE。所以我为maven-compiler-plugin添加了一个基本的POM文件,其中包含适当的源码和目标配置,并重新启动了IDE。瞧,它工作了


0
投票

我使用的是spring框架的gradle,lombok插件和skdman(除了gradle,maven也很好,我推荐使用它们,它们都很好),但我相信我的配置可以对大家有用,所以在这里......。

有一点我可以补充一下,我认为我在使用命令行gradle的插件时出现了奇怪的错误,当我开始使用vscode插件接口时,这些错误得到了纠正,因此我建议你可以尝试一下使用插件按钮,如果你还没有这样做的话。

在launch.json,我有以下调试配置。

{
  "name": "Spring Project ???",
  "type": "java",
  "request": "launch",
  "cwd": "${workspacefolder}",
  "console": "internalConsole",
  "mainClass": "br.com.meuProject.???",
  "projectName": "???",
  "args": []
}
  • 注意,cwd就像workpacefolder一样,但你可以把它改成其他值,比如fileDirname,不过在这些情况下,定义 "程序 "这个变量的值可能是合法的。

在settings.json中,我有以下的环境设置,请注意 "java.home "定义了你的JAVA_HOME变量。

"java.semanticHighlighting.enabled": true,
"java.configuration.checkProjectSettingsExclusions": false,
"java.home": "C:\\Users\\name\\.sdkman\\candidates\\java\\current",
"java.jdt.ls.vmargs": "-XX:+UseParallelGC -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Dsun.zip.disableMemoryMapping=true -Xmx1G -Xms100m -javaagent:\"/home/user/.vscode/extensions/gabrielbb.vscode-lombok-1.0.1/server/lombok.jar\"",
  • 注意 "java.home" 定义了你的JAVA_HOME变量。
  • 注意 "java.jdt.ls.vmargs "定义了在构建java时传递给命令行的变量。

希望能对你有所帮助。干杯!

© www.soinside.com 2019 - 2024. All rights reserved.