WSL中的Bash无法在PATH中找到Java。

huangapple go评论71阅读模式
英文:

WSL Bash isn't finding java in PATH

问题

我在我的 .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 错误。我在这里做错了什么?

英文:

I have an export command in my .bashrc to add the path of the java.exe file to PATH. Right now, running echo $PATH gives me this at the end

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

This is exactly where the java.exe and javac.exe files are stored, but when I run something like
java -version I'm getting the Command 'java' not found error. What am I doing wrong here?

答案1

得分: 4

你已将 Windows 版本的 Java 二进制文件添加到了路径中。你使用 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-windows-tools-from-linux)

英文:

You have added the Windows version of the Java binaries to the Path. You use WSL to run Linux binaries. (WSL1 is a compatibility layer, WSL2 uses the Linux kernel).

You have two options:

  1. Install Java in your WSL environment. For example on Ubuntu with following commands:

    sudo apt update
    sudo apt install openjdk-14-jdk
    

    After installing Java it will be available in the search path.

  2. You could also run the Windows version by calling java.exe (note the .exe) on the name. This way WSL would call the Windows version. (https://learn.microsoft.com/en-us/windows/wsl/interop#run-windows-tools-from-linux)

答案2

得分: 2

如果您出于某种原因想要使用 Windows 版本的 Java,您几乎已经接近成功。请尝试以下步骤:

java.exe -version
英文:

If you want to use the windows version of java for some reason you where almost there. Try this please WSL中的Bash无法在PATH中找到Java。

java.exe -version

答案3

得分: 0

在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

添加声明并添加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
英文:

Install java in wsl:

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

check the version.

java –version 

check the path to config JAVA_HOME.

sudo update-alternatives --config java 

eg

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

edit environment file to add the path:

   sudo nano /etc/environment 

add declare and add the 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 

save and check the path.

source /etc/environment 

echo $JAVA_HOME 

Output

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

huangapple
  • 本文由 发表于 2020年8月19日 00:55:12
  • 转载请务必保留本文链接:https://go.coder-hub.com/63473269.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定