JAVA_HOME还是PATH还是两者?

shu*_*ava 2 myeclipse path java-home

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

Imr*_*ran 8

简短的回答,是的,您确实需要设置 JAVA_HOME。

你可以在这里阅读它们之间的区别,但我也粘贴了下面的解释:

  • Java 本身不使用JAVA_HOME和 JRE_HOME。某些第三方程序(例如 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。


Ale*_* R. 7

是的,您确实需要。PATH通常用于查找可执行文件,因此您无需指定要执行的整个路径。脚本或IDE可以使用JAVA_HOME来查找库。您可以指定JAVA_HOME并在其基础上构建路径变量。例如(取决于OS)

PATH=$PATH;$JAVA_HOME/bin
Run Code Online (Sandbox Code Playgroud)


ifc*_*fig 5

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

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