【问题标题】:Why is "JAVA_HOME" path different from "which java" and "Whereis java"为什么“JAVA_HOME”路径与“which java”和“Whereis java”不同
【发布时间】:2020-08-24 09:55:36
【问题描述】:

在 bash_profile 中,java_home 的设置如下所示

导出 JAVA_HOME=$(/usr/libexec/java_home)

command "echo $JAVA_HOME" 给出以下路径

/Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home

命令“which java”给出以下路径

/usr/bin/java

命令 Whereis java 给出以下路径

/usr/bin/java

命令“ls -la /usr/bin/java”给出以下链接

lrwxr-xr-x 1 根轮 74 Jan 15 2019 /usr/bin/java -> /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java

为什么java_home和“which java”和“Whereis java”返回的路径不一样。还有为什么 /usr/bin/java 在另一个位置链接到 java

【问题讨论】:

  • 可能是因为安装时没有正确设置JAVA_HOME

标签: java


【解决方案1】:

为什么java_home和“which java”和“Whereis java”返回的路径不一样。还有为什么 /usr/bin/java 在另一个位置链接到 java

JAVA_HOME 是一个环境变量

在 shell / 命令提示符下运行的任何命令都将在 $PATH 中查找

默认情况下“/usr/bin/*”在 PATH 中

要在 PATH 中获取您的 java 和 javac,您需要使用以下命令

export PATH=$JAVA_HOME/bin:$PATH

当放入您的 bashrc 或 bash_profile 时,它​​将始终使用您的 JAVA_HOME 中的 java 及其相关的可执行二进制文件。如上所示,请记住将其放在现有路径之前。

希望对你有帮助

【讨论】:

  • "如上图,记得把它放在现有路径之前" .这行得通!谢谢 A G
猜你喜欢
  • 2018-06-13
  • 2020-10-30
  • 2013-10-28
  • 1970-01-01
  • 2010-12-30
  • 2016-01-31
  • 1970-01-01
  • 2013-05-26
相关资源
最近更新 更多