在 Ubuntu 中设置 JAVA_HOME 以指向 Window 的 JAVA_HOME

Setting up JAVA_HOME in Ubuntu to point to Window's JAVA_HOME

我在 Windows 中尝试在 CMD 上 运行 Kafka,它非常不稳定,不断出错。然后我遇到了这个 post,它建议从那里安装 Ubuntu 和 运行 Kafka。

我已经安装成功Ubuntu。鉴于我已经将 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_231 定义为环境变量之一并且 CMD 识别了这个变量但是 Ubuntu 没有,我想知道如何让 Ubuntu 识别这个,因为目前,当我输入了 java -version, Ubuntu returns command not found.

更新: 请注意,我必须让 Ubuntu 的 JAVA_HOME 指向在我的 [ 中定义的环境变量 JAVA_HOME =48=]系统。因为我在 eclipse 中的 Java 程序需要使用相同的 JVM 与 Kafka 通信。

我在 /etc/profile 文件中添加了以下两行。 echo $JAVA_HOME returns 正确的路径。但是,java -version returns Ubuntu 上安装了不同版本的 Java,而不是 /etc/profile

中定义的版本
export JAVA_HOME=mnt/c/Program\ Files/Java/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH

当用户登录时,将从 /etc/profile 和 $HOME/.bashrc 文件加载环境。 有很多方法可以解决这个问题。可以手动执行ex

export JAVA_HOME=/opt/jdk1.8.0_66
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

或修复/etc/profile或$HOME/.bashrc

中的配置
export JAVA_HOME=/opt/jdk1.8.0_66
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

您可以编辑/etc/profile、追加

export JAVA_HOME=C:\Program Files\Java\jdk1.8.0_231

export PATH=$JAVA_HOME/bin:$PATH

您有 2 个问题。首先,您从环境变量的开头省略了“/”,因此您的 JAVA_HOME 将无法工作,除非您 cd / 因为“mnt”不存在。

export JAVA_HOME=/mnt/c/Program\ Files/Java/jdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH

其次,如果您使用 Windows JDK 可执行文件是 java.exe

java.exe -version

还请考虑使用 WSL 时,WSL1 在访问 Windows OS 磁盘时速度更快 - 如果使用 java.exe 会有所帮助,并且 WSL2 对于 Linux 安装驱动器会更快- 你最好使用 Linux 二进制文件来支持 Windows 二进制文件,如 Kafka post.

中所建议的