How to Find JAVA_HOME – 如何找到JAVA_HOME

最后修改: 2019年 1月 15日

中文/混合/英文(键盘快捷键:t)

1. Introduction

1.介绍

In this quick tutorial, we’ll learn how to find JAVA_HOME on Windows, Mac, and Linux.

在这个快速教程中,我们将学习如何在Windows、Mac和Linux上找到JAVA_HOME

As we all know, JAVA_HOME is an environment variable that we commonly use to locate java executables, like java and javac.

我们都知道,JAVA_HOME是一个环境变量,我们通常用它来定位java的可执行文件,比如javajavac

2. Windows-Specific Ways to Find JAVA_HOME

2.Windows特有的查找方法JAVA_HOME

If we’re using Windows as the operating system, first we need to open up our command line (cmd) and type:

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

echo %JAVA_HOME%

If JAVA_HOME is defined in our environment, then the above command will print it out.

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

Or to show the location of the java executable, we can try:

或者为了显示java可执行文件的位置,我们可以试试。

where java

3. macOS and Linux-Specific Ways to Find JAVA_HOME

3.macOS和Linux寻找JAVA_HOME的特定方法

If we’re using either macOS or Linux, we can open up our terminal and type:

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

echo $JAVA_HOME

If JAVA_HOME is defined in our environment, then the above command will print it out.

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

Or we could try:

或者我们可以试试。

which java

This probably just shows us /usr/bin/java, which really isn’t very helpful since it’s a symbolic link. To unravel this, we’ll use dirname and readlink.

这可能只是向我们展示了/usr/bin/java,这真的没有什么帮助,因为它是一个符号链接。为了解开这个问题,我们将使用dirnamereadlink.

For Linux:

对于Linux。

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

For macOS:

对于macOS。

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

This command prints the currently used java folder.

该命令打印出当前使用的java文件夹。

4. Using Java to Find JAVA_HOME

4.使用Java查找JAVA_HOME

If we’re able to run java ourselves, then we have a nearly platform-independent way as well:

如果我们能够自己运行java,那么我们也有一个几乎独立于平台的方法:

java -XshowSettings:properties -version

Running this command outputs numerous properties, one of them being java.home.

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

To parse it though, we’ll still need a platform-specific tool.

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

For Linux and macOS, we’ll use grep:

对于Linux和macOS我们将使用grep

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

For Windows, we’ll use findstr:

对于Windows,我们将使用findstr

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

5. Conclusion

5.结论

In this brief article, we learned how to find JAVA_HOME on different operating systems.

在这篇简短的文章中,我们学习了如何在不同的操作系统上找到JAVA_HOME

If this didn’t work though, it’s possible we didn’t set the JAVA_HOME variable properly while installing Java.

如果这没有用,可能是我们在安装Java时没有正确设置JAVA_HOME变量