使用WSL 2在Windows上开发Java应用程序 - Saeed


作为Java开发人员,如果要在Windows上设置开发环境,则有以下三种选择(我的经验):

  • 下载适用于Windows的本机JDK,Maven和…,并将其直接安装在Windows上。
  • 在VMWare或Virtualbox上安装桌面Linux发行版,然后在该VM上安装JDK,Maven和…。
  • 使用Multipass安装Ubuntu服务器,然后使用RDP连接到它(如果您在Ubuntu服务器上安装了桌面环境),或者使用X服务器(如VcXsrv)连接到它。

第一个选项是最简单的选项,但是如果您在开发过程中需要某些特定的Linux功能,则该选项将不会总是起作用。第二个和第三个选项对于具有Linux功能很有好处,但是它们的性能不佳并且消耗大量资源。
在本文中,我将介绍第四个选项(使用WSL 2和X Server),并将其性能与第一个选项进行比较。
 
什么是WSL 2
WSL 2进行了全面改造,现在我们拥有由Microsoft构建的完整Linux内核(WSL2-Linux-Kernel),该内核可在轻量级实用程序VM(虚拟机)中运行。WSL 2中的虚拟化技术看起来不像传统的VM(启动慢,隔离,消耗大量资源等),它无需任何配置即可进行管理和在后台运行。
 
安装或更新WSL 2
首先,您需要在Windows计算机上安装WSL 2。您可以逐步阅读以下链接以安装WSL 2或将当前的WSL 1升级到版本2。
https://docs.microsoft.com/en-us/windows/wsl/install-win10
 
开发环境
我使用这些SDK和工具来运行示例Java Spring Boot项目:

 我使用了Spring in Action,第五版中的示例项目(第3章-tacos-jpa)。为了在WSL 2中获得最佳I / O性能,我保留了该项目的两个副本,一个保留在NTFS文件系统中,以便在Windows 10中使用它,另一个保留在WSL 2上安装的Ubuntu 20.04(ext4文件系统)中。
最后,我在Windows 10和WSL 2(Ubuntu-20.04)上安装了所有这些软件的相同版本。
 
在WSL 2中运行IntelliJ Idea GUI
我最喜欢的IDE是IntelliJ IDEA(社区版),目前,该IDE不具有VS Code Remote Development扩展之类的远程开发功能,因此,我在Windows 10上使用X Server(VcXsrv)来查看WSL 2 GUI应用程序,例如Windows中的IntelliJ Idea。您可以按照以下链接为此目的配置Windows 10和WSL 2:
https://techcommunity.microsoft.com/t5/windows-dev-appconsult/running-wsl-gui-apps-on-windows-10/ba-p/1493242
如果要使用WSL 2在Windows 10中通过``开始''菜单中的快捷方式运行Linux GUI应用程序,则可以遵循以下文章:
https://itnext.io/using-windows-10-as-a-desktop-environment-for-linux-7b2d8239f2f1

参考:
https://www.jdon.com/54526