我是Visual Studio Code(VSC)的新手,我来自Eclipse。 VSC告诉我我的项目有2个错误:
构建路径指定执行环境J2SE-1.5。在工作区中没有安装与该环境严格兼容的JRE。
指定的编译器遵从性为1.5,但使用的是JRE 1.8。
与Eclipse中一样,我正在寻找一个偏好设置窗口来更改Java编译器的级别(在我的情况下从1.5更改为1.8),但是找不到。我到处只能看到文件。 “首选项”菜单显示许多设置,但对于Java编译器则不显示任何内容。
答案 0 :(得分:3)
在VsCode中,在下面的文件中更改您的合规性版本
org.eclipse.jdt.core.prefs
Your_project_directory/.settings/org.eclipse.jdt.core.prefs
({.settings
将被隐藏在文件浏览器中,仅在vs代码中可见。)
此外,在文件中将1.7更改为1.8。 1.8是基于Java版本输入值的Java版本
答案 1 :(得分:1)
使用您的所有答案,我意识到该错误是由Javascript Angular组成的项目,不需要Java。然后我删除了目录“ .settings”和文件“ .classpath” ..,这两个错误消失了。
谢谢大家。
答案 2 :(得分:0)
VS Code没有对Java项目的内置支持。您需要安装一些Java扩展并将其配置为指定正确的Java JDK版本,您可以通过设置JAVA_HOME
环境变量或通过设置java.home
设置来做到这一点:
在安装JDK之后,您需要配置您的环境 用于Java开发。最常见的方法是set
JAVA_HOME
您可以将环境变量更改为JDK的安装位置 还可以使用Visual Studio代码设置(workspace or user settings)中的java.home
设置仅为编辑器进行配置。
我在下面介绍了安装/设置步骤。它主要基于Visual Studio Code tutorial for Java。 基于OP's comment,我将重点介绍在Mac上为VSCode设置Java扩展。
首先,您需要安装Microsoft Java Extension Pack。
安装后,它将显示 Java Overview 标签,并自动检查可用的Java SDK。如果找不到,则会提示您下载一个。 (打开/创建.java文件时, Java概述和此 JDK必需页面也似乎自动出现。)
应从VS Code documentation开始支持以下JDK发行版:OpenJDK,Oracle的Java SE,Azul Zulu Enterprise。我正在使用OpenJDK 11。
下载并安装适当的JDK。接下来,获取您的JDK的路径。打开终端,然后:
$ /usr/libexec/java_home
/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home
如果您已经设置了JAVA_HOME
(echo $JAVA_HOME
),则建议取消设置。我发现最好使用java.home
设置来专门为VS Code(或特定工作区)配置Java。
现在,打开“ VS Code设置”选项卡,然后找到 Java:Home 设置:
您可以修改 User 或 Workspace 设置。在上面的屏幕截图中,我正在修改我的 User 设置,使java.home
设置影响所有Java项目。您还可以修改 Workspace 设置,以针对每个工作区分别配置java.home
。
单击settings.json中的编辑,然后添加java.home
(如果显示java.*
自动完成功能,您将知道扩展程序已正确安装)。
指定您先前获得的JDK的路径:
"java.home": "/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home",
然后重新启动VS Code 。当 Java概述选项卡再次显示时,如果正确设置了路径,它将不再提示您下载JDK,这意味着它找到了您的JDK。尝试运行一个非常基本的HelloWorld.java应用程序。
如果您使用的是Windows,他们会提供特殊的安装程序来帮助您入门:
为帮助您快速入门,我们创建了special Installer of Visual Studio Code for Java developers。
Download Visual Studio Code Java Pack Installer
注意:该安装程序当前仅适用于Windows。对于其他 操作系统,请安装这些组件(JDK,VS Code和Java扩展) 个别地。我们正在开发macOS版本,请继续关注。
答案 3 :(得分:0)
编辑: 我的pom.xml文件不正确。如果您使用Maven,请对该文件进行其他检查。
对我来说,它在“ .settings”文件夹中(应该在您的Java项目中)。那里有一些“ org.eclipse”文件。您只需将1.5更改为1.8。
答案 4 :(得分:0)
就我而言,我在环境中有一个 jdk8,我需要将 java 文件编译为 Jre 1.7 版本中的类文件。类文件major.minus 版本需要0x33。
所以我需要使用 vscode-java 来创建类文件。但是 vscode 没有编译器的设置。 eclipse 项目在 .setting/org.eclipse.jdt.core.prefs 中有一个设置文件。 Settings Global Preferences
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7
这个文件可以改变eclipse jdt中的编译器选项。
vscode-java 扩展有一个设置选项来使用特定的设置文件。我们可以将下面的代码添加到 .vscode/setting.json 中以更改 java 编译器目标版本。
"java.settings.url": ".settings/org.eclipse.jdt.core.prefs",
因此编译的类文件有一个 0x33 jre major.minor 版本。