如何正确设置JAVA_HOME环境变量?

How to correctly set the JAVA_HOME environment variable?

在教程(与产品相关)中显示了在 Linux Ubuntu 上设置 JAVA_HOME 环境变量的热点系统,这样:

echo "JAVA_HOME=\"/usr/lib/jvm/default-java\"" | sudo tee -a /etc/environment

我有一些微不足道的疑惑:

1) JAVA_HOME 环境变量到底是什么,它的用途是什么?

据我了解,它类似于 link 设置到操作系统中的 JVM,从 servlet container\application 服务器使用它来了解 JVM 的位置,因此它可以使用。这个断言是真的还是我遗漏了什么?此环境变量是否存在其他用途​​?

2)教程中显示这个环境变量的路径为:

/usr/lib/jvm/default-java

但是在我的系统中我有一些不同的东西,事实上进入 /usr/lib/jvm/ 路径我没有 default-java 目录,但我有这样的路径:

/usr/lib/jvm/java-8-oracle

包含以下目录:

和一些其他文件。

设置我的 JAVA_HOME 环境变量的正确路径是什么?

3) 上一条语句的这一段具体是做什么的:

sudo tee -a /etc/environment

Tnx

1:你是对的

2:它应该指向 jvm/jdk 安装的实际根文件夹,在本例中为 /usr/lib/jvm/java-8-oracle

3: tee 是将输入同时输出到文件和命令行的命令,-a 选项将其附加到文件。所以本质上,它作为超级用户,将前一个命令 echo "JAVA_HOME=\"/usr/lib/jvm/default-java\"" 的输出附加到文件 /etc/environment 中,但也将其输出到命令行。对你来说,输出应该是:JAVA_HOME="/usr/lib/jvm/java-8-oracle"