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



我试图在Windows中的CMD上运行Kafka,它非常不稳定,不断给出错误。然后我遇到了这篇文章,它建议安装 Ubuntu 并从那里运行 Kafka。

我已经成功安装了 Ubuntu。鉴于我已经将JAVA_HOME=C:Program FilesJavajdk1.8.0_231定义为环境变量之一,并且CMD可以识别此变量,但Ubuntu无法识别,我想知道如何使Ubuntu识别这一点,因为目前,当我键入java -version时,Ubuntu返回command not found

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

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

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

您有 2 个问题。首先,您省略了环境变量开头的"/",因此除非您cd /因为"mnt"不存在,否则您的JAVA_HOME将不起作用。

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 操作系统磁盘时更快 - 如果使用java.exe会很有帮助,并且 WSL2 对于 Linux 安装驱动器更快 - 并且您可能最好使用 Linux 二进制文件而不是 Windows 二进制文件,正如您的 Kafka 帖子中所建议的那样。

当用户登录时,环境将从/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 FilesJavajdk1.8.0_231
export PATH=$JAVA_HOME/bin:$PATH

相关内容

  • 没有找到相关文章

最新更新