我需要在 MacOS 上设置 JAVA_HOME 吗?

Vla*_*kow 1 java macos java-home

我对Java相当陌生。许多关于在 Mac 上安装 Java 的教程都建议设置JAVA_HOME环境变量。但是,Java 在我的计算机上运行良好,JAVA_HOME变量为空!

我已经成功地从命令行(使用javacjava)在IntelliJ IDEA 中使用了 Java (在“项目结构设置”中,我/Library/Java/JavaVirtualMachines/jdk-16.0.1.jdk/Contents/Home)Sublime Text 中设置了“JDK 主路径”以编译和运行 Java 文件。

所以,我的问题是:

  • 为什么JAVA_HOME在我的 Mac 上没有 Java 也能工作?
  • 我需要设置JAVA_HOME吗?没有它会有什么后果?也许它对某些事情不是必需的,但对于其他事情来说是必需的?那么这些东西是什么呢?
  • 这种行为在其他操作系统上是否有所不同?

一些命令的输出是:

echo $JAVA_HOME 输出一个空行

echo $CPPFLAGS 输出一个空行

which java

/usr/bin/java
Run Code Online (Sandbox Code Playgroud)

echo $PATH 包含 /usr/bin

Arv*_*ash 5

为什么在我的 Mac 上没有 JAVA_HOME 的情况下 Java 也能工作?

JAVA_HOMEJava 在您的系统中工作不需要设置。然而,某些应用程序(例如 Tomcat、Maven 等)会查找JAVA_HOME系统变量,如果未设置其值,它们可能会提示您这样做。

我需要设置 JAVA_HOME 吗?没有它会有什么后果?也许它对某些事情不是必需的,但对于其他事情来说是必需的?那么这些东西是什么呢?

上面已经回答了。

这种行为在其他操作系统上是否有所不同?

所有操作系统都一样。