java - VS Code & WSL2 - 将 Java 语言级别指定为 1.8
问题描述
我在 WSL2 中使用 VS Code,并按照此链接安装了一堆 Java 扩展- 普通 Java 程序运行良好 - 能够从 VS Code 运行和调试。
虽然当我开始使用 Lambda 等 Java 8 特定功能时,它开始抱怨 Java 的源代码级别
应该在设置中指定什么属性来确定源级别为 1.8 而不是更低!
编辑:底部的蓝色条表示由于某种原因,当前的 Java 运行时是 J2SE1.5。见附件
单击时,它要求添加以下属性:java.configuration.runtimes
因此我在 VS Code 的 WSL2 设置中添加了以下内容 - 仍然没有效果!
"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/usr/lib/jvm/zulu-8-amd64",
"default": true
}
]
解决方案
从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>
推荐阅读
- javascript - 设置 jQuery Editable Select 的值
- sql-server - 我可以在 SSMS UI 的哪个位置看到用户的执行存储过程权限?
- reactjs - 在反应中使用 i18next 无法工作语言更改按钮
- google-auth-library - 具有跨源隔离的 Google oAuth2 登录
- office365 - 从 Office 365 合规中心删除统一审核日志
- c++ - QML将窗口设置为另一个窗口,后面有对象
- jenkins - 空手道框架与 Jenkins 的集成
- git - 每次我在 VS Code 中运行 Dart。它显示了这一点。为什么?我该如何解决?
- ruby-on-rails - 使用 rake(在 Rails 中)从视图中生成静态 html?
- php - Slim Framework 4 getParsedBody 总是返回 null