我在WSL2中使用VS Code,并按照以下要求安装了一系列的Java扩展。这个环节 - 正常的Java程序运行良好--能够从VS Code中运行& Debug。
虽然当我开始使用像Lambda这样的Java 8特定功能时,它开始抱怨Java的源码级别。
在 "设置 "中应该指定什么属性才能确定源码级别为1.8而不是更低 !
编辑:最下面的蓝色条上写着当前的Java Runtime是J2SE1.5,不知为什么。见附件
点击后,它要求添加以下属性。java.configuration.runtimes
所以我在VS代码的WSL2设置中添加了以下内容--仍然没有效果!
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/lib/jvm/zulu-8-amd64",
"default": true
}
]
得到了我的答案,从 抖音 它从项目的构建文件中获取语言级别的设置,所以我为maven-compiler-plugin添加了一个基本的POM文件,其中包含适当的源码和amp;目标配置,并重新启动IDE。所以我为maven-compiler-plugin添加了一个基本的POM文件,其中包含适当的源码和目标配置,并重新启动了IDE。瞧,它工作了
我使用的是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": []
}
在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\"",
希望能对你有所帮助。干杯!