Visual studio code 如何在VisualStudio代码中查找和更改Java编译器选项?

Visual studio code 如何在VisualStudio代码中查找和更改Java编译器选项?,visual-studio-code,Visual Studio Code,我是Visual Studio代码(VSC)的新手,来自Eclipse。VSC告诉我项目中的两个错误: 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE 指定的编译器符合性为1.5,但使用了JRE 1.8 和在Eclipse中一样,我正在寻找一个preferences窗口来更改Java编译器的级别(在我的例子中是从1.5更改为1.8),但我找不到它。我只能到处看到文件。菜单首选项显示了许多设置,但没有显示Java编译器的任何设置。VS代码没有对Java项

我是Visual Studio代码(VSC)的新手,来自Eclipse。VSC告诉我项目中的两个错误:

  • 构建路径指定执行环境J2SE-1.5。工作区中没有安装与此环境严格兼容的JRE

  • 指定的编译器符合性为1.5,但使用了JRE 1.8


和在Eclipse中一样,我正在寻找一个preferences窗口来更改Java编译器的级别(在我的例子中是从1.5更改为1.8),但我找不到它。我只能到处看到文件。菜单首选项显示了许多设置,但没有显示Java编译器的任何设置。

VS代码没有对Java项目的内置支持。您需要安装一些Java扩展并将其配置为指定正确的Java JDK版本,您可以通过设置
Java\u HOME
环境变量或设置
Java.HOME
设置:

安装JDK之后,您需要配置您的环境 用于Java开发。最常见的方法是
JAVA\u HOME
可以将环境变量设置为JDK的安装位置 还可以使用VisualStudio代码设置()中的
java.home
设置,仅为编辑器配置它

我在下面描述了安装/设置步骤。它主要是基于。 基于,它主要关注Mac上VSCode的Java扩展


马科斯 首先,您需要安装Microsoft

安装后,它将显示Java概览选项卡,并自动检查可用的Java SDK。如果找不到,它将提示您下载一个。(当您打开/创建.Java文件时,Java概述和这个JDK必需页面似乎也会自动出现)

首先,应该支持这些JDK发行版:OpenJDK、Oracle的JavaSE、AzulZulu Enterprise。对于这个答案,我使用的是OpenJDK11。下载并安装适当的JDK

接下来,获取JDK的路径。打开一个终端,然后:

$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
如果您已经设置了
JAVA\u HOME
echo$JAVA\u HOME
),我建议取消设置。我发现最好使用
java.home
设置专门为VS代码(或特定工作区)配置java

现在,打开VS代码设置选项卡并查找Java:Home设置:

您可以修改用户或工作区设置。在上面的屏幕截图中,我正在修改我的用户设置,使
java.home
设置影响所有java项目。您还可以修改工作区设置,为每个工作区配置不同的
java.home

单击settings.json中的Edit,并添加
java.home
(如果显示
java.*
autocompletion,您将知道扩展安装正确)

指定先前获得的JDK的路径:

"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home",
然后重新启动VS代码。当Java Overview选项卡再次显示时,如果您正确设置了路径,它将不再提示您下载JDK,这意味着它找到了您的JDK。尝试运行一个非常基本的HelloWorld.java应用程序

窗户 如果您使用的是Windows,他们会提供一个特殊的安装程序来帮助您入门:

为了帮助您快速入门,我们创建了一个

注意:安装程序当前仅适用于Windows。其他 操作系统,请安装这些组件(JDK、VS代码和Java扩展) 个别地。我们正在开发macOS版本,请继续关注


在VisualStudio代码中,您需要在下面的文件中更改法规遵从性版本

  • 文件名:
    org.eclipse.jdt.core.prefs
  • 路径:
    您的项目目录/.settings/org.eclipse.jdt.core.prefs
.settings
将隐藏在文件资源管理器中,仅在vs代码中可见。)

另外,在文件中从1.7更改为1.8。1.8是基于java版本输入值的java版本吗


使用您所有的答案,我意识到错误发生在一个用Javascript编写的项目上,不需要Java。然后我删除了目录“.settings”和文件“.classpath”。。这两个错误消失了

谢谢大家。

编辑: 我的pom.xml文件不正确。如果您使用Maven,请查看该文件的其他内容


对我来说,它在“.settings”文件夹中(应该在Java项目中)。里面有一些“org.eclipse”文件。您只需要将1.5更改为1.8。

在我的例子中,我在环境中有一个jdk8,我需要在Jre 1.7版本中将java文件编译为类文件。类文件major.减号版本需要0x33

所以我需要使用VSCODEJava来创建类文件。但是vscode没有编译器的设置。eclipse项目在.setting/org.eclipse.jdt.core.prefs中有一个设置文件

此文件可以更改EclipseJDT中的编译器选项

vscode java扩展有一个设置选项,可以使用特定的设置文件。我们可以将下面的代码添加到.vscode/setting.json中,以更改java编译器的目标版本

"java.settings.url": ".settings/org.eclipse.jdt.core.prefs",

因此,编译的类文件具有0x33 jre major.minor版本。

Visual Studio代码不像Eclipse那样具有内置Java支持。如果您正在寻找特定于任何语言的功能,它们将由扩展提供。您已经在使用Java扩展了吗?你看过该扩展的文档/自述文件了吗?这有一些有用的信息。你的操作系统是什么?谢谢你的帮助。我在MacOS上使用Microsoft java Extension pack…使用您的所有答案,我意识到错误发生在一个由Javascript创建的项目上,不需要java。然后我删除了目录“.settings”和文件“.classpath”。。这两个错误消失了。我在MacOS上。我试图在settings.json中添加java.home。。然后重新启动VSC。
"java.settings.url": ".settings/org.eclipse.jdt.core.prefs",