【发布时间】:2017-12-28 00:43:43
【问题描述】:
我在看 Android 开发视频,他们要求我们安装 JDK 并创建 JAVA_HOME 环境变量。 我已经安装了 MyEclipse,并且我之前已经设置了 PATH 变量(给它 JDK 的目录),我还需要一个 JAVA_HOME 变量吗???如果是,那为什么???
【问题讨论】:
我在看 Android 开发视频,他们要求我们安装 JDK 并创建 JAVA_HOME 环境变量。 我已经安装了 MyEclipse,并且我之前已经设置了 PATH 变量(给它 JDK 的目录),我还需要一个 JAVA_HOME 变量吗???如果是,那为什么???
【问题讨论】:
简短回答,是,您确实需要设置 JAVA_HOME。
您可以阅读here 它们之间的区别,但我也在粘贴下面的解释:
JAVA_HOME 和 JRE_HOME 不被 Java 本身使用。一些第三方程序(例如 Apache Tomcat)期望将这些环境变量之一设置为 JDK 或 JRE 的安装目录。如果您使用的不是需要它们的软件,则无需设置 JAVA_HOME 和 JRE_HOME。
CLASSPATH 是一个环境变量,其中包含目录和/或 JAR 文件列表,Java 在搜索要加载的 Java 类时会查看这些文件。您通常不需要设置 CLASSPATH 环境变量。在使用 javac 和 java 命令时,您可以在命令行中使用 -cp 或 -classpath 选项,而不是使用此环境变量。
PATH 是操作系统(Windows、Mac OS X、Linux)使用的环境变量,它将在其中查找要运行的本机可执行程序。您应该将 JDK 安装目录的 bin 子目录添加到 PATH,以便您可以在命令提示符窗口中使用 javac 和 java 命令以及其他 JDK 工具。 JDK安装说明解释了如何设置PATH。
【讨论】:
是的,你确实需要。 PATH 通常用于查找可执行文件,这样您就不必指定要执行的整个路径。脚本或 IDE 可以使用 JAVA_HOME 来查找库。您可以指定 JAVA_HOME 并基于它构建路径变量。例如(取决于操作系统)
PATH=$PATH;$JAVA_HOME/bin
【讨论】:
如果您使用的应用程序正在JAVA_HOME 环境变量中查找特定数据集,但它不存在,那么它不会很高兴。
其他应用程序可能会在 PATH 环境变量中查找 JDK 路径,但仅仅因为您拥有它并不意味着它适用于在单独变量中需要它的其他应用程序。
【讨论】: