WSL Bash不是';t在路径中查找java

WSL Bash不是';t在路径中查找java,java,linux,bash,windows-subsystem-for-linux,Java,Linux,Bash,Windows Subsystem For Linux,在my.bashrc中有一个export命令,用于将java.exe文件的路径添加到path。现在,运行echo$PATH在最后给出了这一点 /mnt/c/Program Files/Java/jdk-14.0.2/bin 这正是存储java.exe和javac.exe文件的地方,但是当我运行 java-version我发现命令“java”未找到错误。我在这里做错了什么?如果出于某种原因想使用windows版本的java,您几乎可以做到这一点。请试试这个:) 您已将Windows版本的Java

在my.bashrc中有一个export命令,用于将java.exe文件的路径添加到path。现在,运行echo$PATH在最后给出了这一点

/mnt/c/Program Files/Java/jdk-14.0.2/bin
这正是存储java.exe和javac.exe文件的地方,但是当我运行
java-version
我发现
命令“java”未找到
错误。我在这里做错了什么?

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

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

您有两个选择:

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

    sudo apt更新
    sudo apt安装openjdk-14-jdk
    
    安装Java后,它将在搜索路径中可用

  • 您还可以通过调用名称上的
    java.exe
    (注意
    .exe
    )来运行Windows版本。这样WSL将调用Windows版本。()

  • 在wsl中安装java:

    sudo apt-get -y install openjdk-14-jdk 
    
    检查版本

    java –version 
    
    检查配置JAVA_主页的路径

    sudo update-alternatives --config java 
    
    乙二醇

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

       sudo nano /etc/environment 
    
    添加、声明和添加JAVA_主页:

    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  
    
    source /etc/environment 
    
    echo $JAVA_HOME 
    
    /usr/lib/jvm/java-14-openjdk-amd64