WSL Bash 在 PATH 中找不到 java



我的.bashrc中有一个导出命令,用于将java.exe文件的路径添加到path中。现在,运行echo$PATH在结束时给我这个

/mnt/c/Program Files/Java/jdk-14.0.2/bin

这正是存储java.exe和javac.exe文件的地方,但当我运行类似java -version我得到了Command 'java' not found错误。我在这里做错了什么?

您已将Windows版本的Java二进制文件添加到Path中。您可以使用WSL来运行Linux二进制文件。(WSL1是一个兼容层,WSL2使用Linux内核(。

你有两个选择:

  1. 在WSL环境中安装Java。例如,在Ubuntu上使用以下命令:

    sudo apt update
    sudo apt install openjdk-14-jdk
    

    安装Java后,它将在搜索路径中可用。

  2. 您也可以通过对名称调用java.exe(注意.exe(来运行Windows版本。通过这种方式,WSL将调用Windows版本。(https://learn.microsoft.com/en-us/windows/wsl/interop#run-来自linux的windows工具(

如果您出于某种原因想要使用windows版本的java,那么您几乎可以做到。请试试这个:(

java.exe -version

在wsl:中安装java

sudo apt-get -y install openjdk-14-jdk 

检查版本。

java –version 

检查配置JAVA_HOME的路径。

sudo update-alternatives --config java 

例如

/usr/lib/jvm/java-14-openjdk-amd64/bin/java. 

编辑环境文件以添加路径:

sudo nano /etc/environment 

add声明并添加JAVA_HOME:

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:$JAVA_HOME/bin" 
JAVA_HOME=/usr/lib/jvm/java-14-openjdk-amd64 

保存并检查路径。

source /etc/environment 
echo $JAVA_HOME 

输出

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

最新更新