如何找到JAVA_HOME | Baeldung

19-01-17 banq
    

在这篇快速文章中,我们将学习如何在Windows,Mac和Linux上找到  JAVA_HOME 。

众所周知,JAVA_HOME是一个环境变量,我们通常用它来定位java可执行文件,如java和  javac

Windows的查找JAVA_HOME的方法 

如果我们使用Windows作为操作系统,首先我们需要打开命令行(cmd)并输入:

echo %JAVA_HOME%

如果在我们的环境中定义了JAVA_HOME,那么上面的命令会将其打印出来。

我们可以尝试:

where java

这将显示java 可执行文件的位置  。

macOS和Linux特有的查找  JAVA_HOME的方法

如果我们使用macOS或Linux,我们可以打开我们的终端并输入:

echo $JAVA_HOME

如果在我们的环境中定义了JAVA_HOME,那么上面的命令会将其打印出来。

或者,我们可以尝试:

which java

这可能只是向我们展示  / usr / bin / java。

但是,这真的不是很有用,因为它是一个象征性的联系。为了解开这个,我们将使用  dirname和readlink ;

对于Linux:

dirname $(dirname $(readlink -f $(which javac)))

对于macOS:

$(dirname $(readlink $(which javac)))/java_home

因此,此命令将打印当前使用的java文件夹。

使用Java查找JAVA_HOME

如果我们能够自己运行java,那么我们也有一种几乎与平台无关的方式:

java -XshowSettings:properties -version

运行此命令会输出许多属性,其中一个属性是java.home。

但是,要解析它,我们仍然需要一个特定于平台的工具。

对于Linux和macOS , 让我们使用  grep:

java -XshowSettings:properties -version 2>&1 > /dev/null | grep 'java.home'

对于Windows,让我们使用  findstr:

java -XshowSettings:properties -version 2>&1 | findstr "java.home"