在Windows 10上的WSL2上使用JDK的正确方法是什么?

我已经在WSL上安装了Ubuntu 20.4 LTS。我的Windows 10已经安装了JDK。我需要在 WSL 上的 ubuntu 上安装 JDK,还是可以在 Ubuntu 中使用 Windows 10 JDK?你是如何在WSL上进行Java编程的?哪个是正确的方法?

我只是想知道我是否需要在Linux上再次安装所有开发工具和二进制文件,这不会占用大量空间并占用大量CPU / Ram资源吗?


答案 1

以具有 sudo 权限或 root 的用户身份运行以下命令,更新软件包索引并安装 OpenJDK 11 JDK 软件包:

$ sudo apt update
$ sudo apt install openjdk-11-jdk

安装完成后,您可以通过检查 Java 版本来验证它:

$ java -version

输出应如下所示:

openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-3ubuntu1, mixed mode, sharing)

Set JAVA_HOME Environment Variable: OpenJDK 11 位于 /usr/lib/jvm/java-11-openjdk-amd64/bin/java

找到首选 Java 安装的路径后,打开 /etc/environment 文件:

$ sudo nano /etc/environment

假设您要将JAVA_HOME设置为指向 OpenJDK 11,请在文件末尾添加以下行:

JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"

要使更改在当前 shell 上生效,您可以注销并登录或运行以下源命令:

$ source /etc/environment

验证是否正确设置了JAVA_HOME环境变量:

$ echo $JAVA_HOME

您应该看到 Java 安装的路径:

/usr/lib/jvm/java-11-openjdk-amd64

作为参考,您可以按照下面的链接 如何在Ubuntu 20.04上安装Java


答案 2

没有一种“正确的”(如JDK提供商支持推荐的)方法来在WSL上安装或使用Java。我找不到任何官方建议。

但是,可以从 WSL 安装和使用 Oracle JDK for Windows 安装,或者从 Ubuntu 包管理器将 OpenJDK Java 安装到您的 WSL 世界中。

我只是想知道我是否需要在Linux上再次安装所有开发工具和二进制文件,这不会占用大量空间并占用大量CPU / Ram资源吗?

见上文。但请注意,如果您同时运行这两种JVM,则只会“占用CPU / RAM”。

引用:

(如果以上文章不能解决您的疑虑,则还有更多关于此主题的文章。


推荐