如何在unix中找到安装java的确切位置

时间:2016-10-25 09:38:39

标签: java unix

我正在使用SSH客户端。我已经运行了环境变量

echo $ JAVA_HOME没有返回任何内容。我想在unix中找到安装java的确切位置。有什么其他命令可以帮助我吗?

7 个答案:

答案 0 :(得分:5)

由于echo $JAVA_HOME未提供路径,因此可能尚未设置此变量。相反,which命令会为您提供路径。

which java

请注意,如果命令为symlink,则可能无法提供确切的位置。如果是这种情况,则必须通过其他方法解析symlink。 说readlink或通过python (os.path.realpath(path))

答案 1 :(得分:3)

which命令为您提供java二进制文件的路径:

which java

但如果它只是一个符号链接(例如alternatives使用),那么这将无法获得二进制文件的真实路径。您可以使用ls -l列出符号链接指向的位置:

ls -l `which java`

为我输出

/usr/bin/java -> /etc/alternatives/java

然后按照符号链接,直到您到达源头。或者,如果您的系统可用,请将readlink命令与符号链接后面的-f结合使用:

readlink -f `which java`

编辑:Ankit在评论中写道readlink不是标准的UNIX命令,-f似乎也不适用于mac,所以这可能不是你的选择,尽管{ {3}}页面介绍了如何通过greadlinkbrew在Mac上获得此功能:

  

brew install coreutils   greadlink -f which java

答案 2 :(得分:2)

在Unix上你应该能够使用'哪个java'命令。

https://en.wikipedia.org/wiki/Which_(Unix)

答案 3 :(得分:2)

你能跑吗? whereis java

据我记得,它提供了与位置的符号链接。

答案 4 :(得分:1)

您可以尝试使用这两个命令

$ which java

$ whereis java

答案 5 :(得分:1)

试试这个

$ which java

可能导致输出为

/usr/bin/java

答案 6 :(得分:0)

通过将 /jre 附加到以下命令的输出目录,您可以很容易地找到 Java 主目录

sudo update-java-alternatives -l

样本输出将是

java-11-oracle                 1091       /usr/lib/jvm/java-11-oracle

现在附加 /jre 使 JAVA HOME 为

/usr/lib/jvm/java-11-oracle/jre