英文:
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 内核)。
你有两个选择:
-
在你的 WSL 环境中安装 Java。例如,在 Ubuntu 上可以使用以下命令进行安装:
sudo apt update sudo apt install openjdk-14-jdk
安装完 Java 后,它将会在搜索路径中可用。
-
你也可以通过调用
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:
-
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.
-
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
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
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论