[WSL2]配置WSL2中的JAVA环境以配合VSCode的Remote WSL扩展功能

VSCode的Remote WSL扩展可以让WSL2在终端中通过code指令启动Windows侧的VSCode,且体验与原生Linux基本无二;

但是进一步使用后发现Remote WSL配合Language Support for Java by Red Hat(以下称JAVA语法支持)并不能正常解析WSL2中的java源代码;通过查询JAVA语法支持扩展的介绍可知,这是由于WSL2环境中缺少JDK11或更高的环境支持;

以Ubuntu分发版为例,安装OpenJDK11即可:

sudo apt install openjdk-11-jdk

然后查找到java可执行文件的路径:

#先确认java可执行文件的直接路径
ryan /mnt/d $ which java
/usr/bin/java
#查看该路径,发现是软连接
ryan /mnt/d $ ls -al /usr/bin/java
lrwxrwxrwx 1 root root 22 Jun 24 10:56 /usr/bin/java -> /etc/alternatives/java
#进一步追踪,知道发现真正存放文件的路径
ryan /mnt/d $ ls -al /etc/alternatives/java
lrwxrwxrwx 1 root root 43 Jun 24 10:56 /etc/alternatives/java -> /usr/lib/jvm/java-11-openjdk-amd64/bin/java
#这就是java可执行文件真正存放的地址
ryan /mnt/d $ ls -al /usr/lib/jvm/java-11-openjdk-amd64/bin/java
-rwxr-xr-x 1 root root 14560 Apr 21 17:15 /usr/lib/jvm/java-11-openjdk-amd64/bin/java

找到JDK的路径以后,有两种办法可以配置:

  1. 设置JDK_HOME/JAVA_HOME环境变量;
  2. 设置VSCode中Remote-WSL的settings.json;

前者比较简单,就不赘述了;
后者可能更适合某些复杂环境的开发(比如需要多个JDK版本切换的),因此着重介绍下第二种方式:

  • 打开VSCode
    菜单中选择:File -> Preferences -> Settings
    在这里插入图片描述
  • 弹出的设置界面中选择Remote选项卡,在Extensions -> JAVA中随意找到一个可以点击的Edit in settings.json连接,点击进入settings.json的编辑界面:
    在这里插入图片描述
  • 插入如下代码:
   "java.configuration.runtimes": [
        {
          "name": "JavaSE-11",
          "path": "/usr/lib/jvm/java-11-openjdk-amd64/",//这个就是刚才查找的OpenJDK11的路径
          "default": true
        },
    ],

完成后效果实例如图:在这里插入图片描述

  • 重启VSCode即可生效;
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值