在VS Code使用中,如果机器只安装了一个版本的JDK版本,一般不需要特别关注JDK 的配置,但是在以下状况下,需要对JDK进行特别的配置:
- 机器有多个JDK版本,不同的项目使用不同的JDK版本
- 项目使用的JDK版本较低,而VS Code中Java开发需要使用1.8之上的版本,否则某些VS Code的功能不能work。
由此就需要对JDK进行配置, 而VS 配置JDK的地方也有多处。
配置 Java Language Server 的JDK
Java Language Server 是什么?
VS Code的Java Language Server是一个用于提供Java语言支持的工具。它可以在VS Code中提供代码补全、错误检查、重构等功能,提高Java开发的效率和质量。它是基于Language Server Protocol(LSP)开发的,通过与VS Code的语言客户端进行通信来实现各种功能。Java Language Server可以与不同的Java编译器(如Eclipse JDT、Java编译器API)进行集成,从而使其能够对Java代码进行分析和处理。通过安装Java插件并配置Java Language Server,开发者可以在VS Code中进行Java开发,并享受到类似于Eclipse或IntelliJ IDEA等集成开发环境的功能。
如何配置呢?
配置 Java Language Server的步骤
配置步骤:
-
File > Preferences > Settings
-
输入Java:Home 进行查询
-
点击 “Edit in settings.json”
-
在“java.jdt.ls.java.home” 后面输入JDK的路径
完整的设置步骤如下所示:
java.jdt.ls.java.home
配置项说明
那么 java.jdt.ls.java.home
这个配置参数究竟是什么意思呢?
jdt
是 Java Development Tools 的简写。 Java Development Tools(JDT)是一组用于开发Java应用程序的工具,包括编译器、调试器、代码分析器等。在 VS Code 中,Java Language Server 使用 JDT 提供 Java 相关的功能和工具。ls
是 Language Server 的简写。 Language Server 是一种用于提供语言相关功能的独立进程或服务器,它可以为编辑器和集成开发环境(IDE)提供代码补全、语法检查、格式化等功能。对于 Java 开发,Java Language Server (jdt.ls) 就是一种特定的 Language Server,它提供了与 Java 相关的代码编辑和开发功能。因此,ls
在java.jdt.ls.java.home
中表示了 Language Server。
通过设置java.jdt.ls.java.home
,告诉Java Language Server在哪里找到JDK。
配置java.jdt.ls.java.home
时,需要提供JDK的安装路径。例如,在Windows上,可以使用类似以下的路径:C:\Program Files\Java\jdk-11.0.12
;在Mac上,可以使用类似以下的路径:/Library/Java/JavaVirtualMachines/jdk-11.0.12.jdk/Contents/Home
。
确保在设置java.jdt.ls.java.home
时使用正确的JDK安装路径。配置正确后,Java Language Server就能够正常运行,并提供Java相关的功能和工具。
注意:如果没有配置java.jdt.ls.java.home
,Java插件将尝试自动检测JDK的安装路径。如果自动检测失败,可能会遇到一些问题,例如无法运行Java文件或缺少某些功能。因此,建议在使用Java插件之前,先配置好java.jdt.ls.java.home
,确保JDK的正确路径被指定。
配置Java项目使用的JDK版本
在 VS Code 中,java.configuration.runtimes
用于配置和指定要在 Java 项目中使用的 Java 运行时环境。以下是配置和使用的步骤:
-
打开 VS Code,并在 Java 项目中打开
settings.json
文件。可以通过File -> Preferences -> Settings
或者使用快捷键Ctrl + ,
打开设置页面。 -
在设置页面中,搜索框中输入
java.configuration.runtimes
,然后点击Edit in settings.json
链接,进入settings.json
文件。
-
在
settings.json
文件中,找到"java.configuration.runtimes"
配置项,如果没有该配置项,可以手动添加。该配置项是一个 JSON 数组,用于指定要使用的不同的 Java 运行时。 -
针对每个需要配置的 Java 运行时,添加一个 JSON 对象,包含以下属性:
"name"
: 设定运行时的名称。"path"
: 指定 Java 运行时的安装路径(Java Home)。"default"
: 可选属性,将某个 Java 运行时设为默认运行时,设置为true
。
一个示例配置如下:
"java.configuration.runtimes": [ { "name": "Java SE 11", "path": "/path/to/jdk-11", "default": true }, { "name": "Java SE 8", "path": "/path/to/jdk-8" } ]
-
保存
settings.json
文件。
配置完成后,VS Code 将会使用指定的 Java 运行时环境来运行和调试 Java 项目。可以在项目中使用 java.project.referencedLibraries
配置项来指定项目的依赖库。
java.configuration.runtimes 和 java.jdt.ls.java.home的比较
-
java.configuration.runtimes
:这是一个在VS Code中配置Java运行时环境的设置。它允许定义不同的Java运行时环境,例如多个JDK版本或不同的构建工具(如Maven或Gradle)。可以定义一个或多个运行时环境,并在不同的Java项目之间切换。这个设置是与VS Code的Java插件配合使用的。 -
java.jdt.ls.java.home
:这是一个在VS Code中配置Java开发工具包(JDK)路径的设置。它定义了JDT Language Server使用的JDK的安装路径。JDT Language Server是VS Code的Java插件使用的Java代码分析和语言支持工具。这个设置用于指定JDT Language Server使用的JDK版本。
总结来说,java.configuration.runtimes
是用于在VS Code中配置Java运行时环境的设置,而 java.jdt.ls.java.home
则是用于指定VS Code的Java插件使用的JDT Language Server所需的JDK版本的设置。
配置项目的JDK
在VS Code中,使用快捷键Ctrl + Shift + P(Windows/Linux)或Cmd + Shift + P(Mac)打开命令面板。在命令面板中,输入并选择“Java: Configure Java Runtime”。然后,选择已安装的JDK版本。
对于普通Java项目,配置修改过后, 项目下的JRE 系统库的版本也就同步修改过来了。