【问题标题】:Why do we add a semicolon in Java PATH variable and not for the JAVA_HOME variable?为什么我们在 Java PATH 变量中添加分号而不是为 JAVA_HOME 变量添加分号?
【发布时间】:2011-04-11 14:35:58
【问题描述】:

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

我读了很多书和论坛:

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

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

【问题讨论】:

    标签: java path java-home


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      PATH 和 CLASSPATH 变量指定多个位置,因此使用“;”来分隔条目。

      注意';'特定于 Windows。

      【讨论】:

      • 感谢您强调 Windows 上的 ;。但是Unix使用:
      【解决方案3】:

      PATH 是一个特定于操作系统的想法。它只是意味着,“当我输入命令时,也要检查这些路径”。默认情况下,您所在的当前目录通常位于搜索路径上。如果您考虑一下,您可以轻松想象如果您没有 PATH 的概念,使用命令行将是多么痛苦。

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

      JAVA_HOME 只是指向您首选的 Java 安装所在的位置。一个值,因此不需要一个字符来分隔条目。

      顺便说一句,您还会遇到 CLASSPATH,它是 Java 应用正在加载的所有库 (JAR) 和资源(例如属性文件)的路径。 CLASSPATH 使用与 PATH 相同的格式/字符。

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

      【讨论】:

        【解决方案4】:

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

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

        您的 PATH(或 CLASSPATH)可以包含许多位置。

        话虽如此,将分号放在路径的末尾不会做任何事情并且会被忽略。

        (注意这是*nix中的冒号而不是分号)

        【讨论】:

          【解决方案5】:

          JAVA_HOME 是 JDK/JRE 的根目录。在我的系统上,JDK_HOME 是: C:\程序文件\java\jdk1.6.0_24

          由于命令行工具(java、javac、jar 等)位于 bin 目录中,因此您将 %JAVA_HOME%\bin 放在 PATH 上,而不是 %JAVA_HOME% 本身...

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2021-06-10
            • 2017-12-17
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-11-08
            • 2019-02-18
            相关资源
            最近更新 更多