为什么我们在java PATH变量中添加分号,而不是在JAVA_HOME变量中添加分号?

问题描述:

我有一个非常基本的问题要问,那为什么我们需要在PATH变量的末尾添加一个分号,为什么我们不在JAVA_HOME变量中添加分号?为什么我们在java PATH变量中添加分号,而不是在JAVA_HOME变量中添加分号?

我阅读大量的书籍和论坛,

  1. 要分开在PATH变量不同的路径?或者告诉系统或JRE在此之后不要再看。

  2. JAVA_HOME变量是为了帮助JRE在未来的开发中寻找更多的文件和扩展,如JDBC驱动等。

PATH是特定于操作系统的想法。它只是意味着,“当我输入命令时,也检查这些路径”。默认情况下,您所在的当前目录通常位于搜索路径中。如果你想一下,你可以很容易地想象如果你没有PATH的想法,使用命令行会带来多大的痛苦。

因此,给定PATH(有多个目录),您需要一种方法来分隔条目。每个操作系统都可以使用任何字符,但两种最流行的是分号(在Windows上)和冒号(在大多数系统Unix上,例如Mac OS X)。

JAVA_HOME只是指向您的首选Java安装位置。一个值,所以不需要一个字符来分隔条目。另外,您还将遇到CLASSPATH,它是Java应用程序加载的所有库(JAR)和资源(例如属性文件)的路径。 CLASSPATH使用与PATH相同的格式/字符。

作为练习,请尝试编写一些循环并打印出System.getProperties()和System.getenv()的值的代码。这是查看所有小配置元素的好方法。

JAVA_HOME用于指定一个单个目录。 PATH指定几个目录,因此您使用分号分隔这些目录。

JAVA_HOME是JDK或JRE安装的位置。许多Java相关的库和文件都存储在这里。这是一个单一的位置,而不是一组位置,因此不需要使用';'分开地点。

PATH和CLASSPATH变量指定多个位置,因此使用';'划分条目。

请注意';'特定于Windows。

分号是分隔符;它将路径中的多个项目分开。

JAVA_HOME仅指向一个地方(JDK/JRE目录)

您的路径(或CLASSPATH)可以涵盖很多位置。

这就是说,在路径的末尾放一个分号不会做任何事情,并且会被忽略。

(注意,这是在* nix的冒号而非分号)

JAVA_HOME是JDK/JRE的根目录。在我的系统,JDK_HOME是: C:\ Program Files文件\的Java \ jdk1.6.0_24

由于命令行工具(Java,javac的,罐子等)都位于bin目录下,你北医三院%JAVA_HOME% \ bin,而不是%JAVA_HOME%本身...