我试图让 WSL 识别我的 Windows 安装环境变量 JAVA_HOME。我附上了 bashrc 中的内容和 Windows 环境变量中的内容,以及 cmd 和 bash 的输出。
我的 bashrc 的末尾是什么:
export JAVA_HOME="/mnt/d/Program Files/Java/jdk-11.0.1"
export PATH="/mnt/d/Program Files/Java/jdk-11.0.1/bin:$PATH"
命令输入/输出:
C:\Users\jaall>javac --version
javac 11.0.1
巴什输入/输出:
myubuntu_name@DESKTOP-LUK3BII:~$ javac --version
Command 'javac' not found, but can be installed with:
sudo apt install default-jdk
sudo apt install openjdk-11-jdk-headless
sudo apt install ecj
sudo apt install openjdk-8-jdk-headless
我已经坚持了一段时间,无法弄清楚或在线找到有效的解决方案。谢谢!
原文由 Jawsh 发布,翻译遵循 CC BY-SA 4.0 许可协议
正如 Biswapriyo 所建议的,您应该使用 WSLENV。
打开 PowerShell。然后将
JAVA_HOME
设置为您的 java 安装路径。在你的情况下,运行
setx JAVA_HOME "D:\Program Files\Java\jdk-11.0.1"
您应该会看到一条消息,上面写着“成功:指定的值已保存”。
setx WSLENV "JAVA_HOME/p"
。您应该再次看到成功消息。
此时您应该看到
JAVA_HOME
正确设置。注意:如果第 2 步不起作用,您可能需要将路径更改为
JAVA_HOME
以包含\bin
文件夹。