JAVA_HOME 或路径或两者?

JAVA_HOME or PATH or BOTH?

我正在观看 Android 开发视频,他们要求我们安装 JDK 并创建 JAVA_HOME 环境变量。 我已经安装了 MyEclipse 并且我之前设置了 PATH 变量(给它 JDK 的目录),我还需要一个 JAVA_HOME 变量吗???如果是那么为什么???

如果您正在使用的应用程序正在 JAVA_HOME 环境变量中查找特定数据集,但该数据集不存在,它不会满意。

其他应用程序可能会在 PATH 环境变量中寻找 JDK 路径,但仅仅因为您拥有它并不意味着它会在单独的环境中为需要它的其他应用程序工作多变的。

简答,,您确实需要设置JAVA_HOME。

您可以阅读 here 它们之间的区别,但我也将解释粘贴在下面:

  • JAVA_HOME 和 JRE_HOME 不被 Java 本身使用。某些第三方程序(例如 Apache Tomcat)期望将这些环境变量之一设置为 JDK 或 JRE 的安装目录。如果您不使用需要它们的软件,则不需要设置 JAVA_HOME 和 JRE_HOME。

  • CLASSPATH 是一个环境变量,其中包含目录和/或 JAR 文件列表,Java 将在搜索时查看这些目录和/或 JAR 文件Java 类 加载。您通常不需要设置 CLASSPATH 环境变量。在使用 javac 和 java 命令时,可以在命令行上使用 -cp 或 -classpath 选项而不是使用此环境变量。

  • PATH是操作系统使用的环境变量(Windows,MacOSX,Linux) 它将在其中寻找 运行 的本机可执行程序。您应该将 JDK 安装目录的 bin 子目录添加到 PATH,以便您可以在命令提示符下使用 javac 和 java 命令以及其他 JDK 工具window。 JDK 安装说明解释了如何设置 PATH。

是的,你确实需要。 PATH 通常用于查找可执行文件,这样您就不必指定要执行的整个路径。 JAVA_HOME 可由脚本或 IDE 用于查找库。您可以指定 JAVA_HOME 并基于它构建路径变量。例如(取决于 OS)

PATH=$PATH;$JAVA_HOME/bin