• 1.4 系统环境变量


     

    前言:
     

    **1.4 系统环境变量**

    ---

    **主要内容**:
    - **系统环境变量的定义**: 系统环境变量是在计算机操作系统中定义的一系列变量。这些变量是全局的,可以被操作系统上的所有应用程序所使用。
      
    - **Java中的环境变量**:
      - 当学习和使用Java时,有两个特别重要的系统环境变量需要配置:`PATH` 和 `CLASSPATH`。
      - `PATH` 是用来告诉操作系统在哪里可以找到可执行文件,如 `javac`。
      - `CLASSPATH` 是用来告诉Java运行时从哪里加载类文件。

    **示例与说明**:
    - 如果不配置PATH环境变量,当你在任何位置尝试运行`javac`命令时,系统可能会提示错误,表示没有找到该命令。这是因为系统不知道去哪里查找这个命令。
      
    - 通过在命令行窗口输入 `set PATH` 命令,你可以查看当前系统的PATH环境变量值。

    **图片参考**:
    - 图1-12: 显示“查看”选项卡的界面。
    - 图1-13: 显示了尝试在未配置PATH的情况下执行`javac`命令的错误提示。
    - 图1-14: 显示了通过`set PATH`命令查看的系统PATH环境变量值。

    **总结**:
    配置正确的系统环境变量对于Java开发是非常关键的。它确保了在任何位置都可以轻松地运行Java相关的命令,并且Java程序可以正确地加载所需的类文件。

    1.4.1 PATH环境变量 

    **1.4.1 PATH环境变量**

    ---

    **主要内容**:

    1. **定义**:
       - PATH环境变量是用于存储命令或可执行程序的路径的一系列值,路径之间以分号分隔。
       - 当执行一个命令时,系统首先在当前目录搜索对应的可执行文件,未找到时,会在PATH环境变量定义的路径中查找。

    2. **javac命令问题**:
       - 如果不将javac所在的路径加入到PATH变量,会导致系统找不到javac命令,如图1-13所示。
       - 从图1-14可以看到,PATH没有javac的路径。
       
    3. **解决方法**:
       - 为了使javac命令有效,需要将其路径添加到PATH中。
       - 使用命令:`set path=%PATH%;C:\Program Files\Java\jdk-11.0.11\bin` 以将javac的路径加入到当前PATH。
       - %PATH%是引用当前的PATH值;而`C:\Program Files\Java\jdk-11.0.11\bin` 是javac所在的路径。
       - 图1-15展示了添加后的PATH值。

    4. **持久化PATH配置**:
       - 在命令行下的PATH修改是临时的,关闭窗口后会失效。
       - 为了持久保存PATH设置,需要在系统属性中进行配置。
       
    5. **系统属性配置步骤**:
       - 右击“计算机” -> “属性” -> “高级系统设置” -> “环境变量” (如图1-17)。
       - 在弹出的环境变量对话框中,找到并选择PATH变量 -> “编辑”(如图1-18)。
       - 点击“新建”并添加javac的路径(如图1-19),然后点击确定完成配置。

    6. **验证**:
       - 打开命令行,执行 `set path` 查看配置(如图1-20)。
       - 如果javac的路径出现在结果中,表示配置成功。

    **结论**:
    为了在任何位置都能执行javac命令,必须将其路径添加到PATH环境变量中,并确保在系统属性中永久保存该配置。

     

     

     1.4.2 CLASSPATH 环境变量

    **1.4.2 CLASSPATH环境变量**

    ---

    **定义:** CLASSPATH是一个环境变量,它定义了Java类库和用户定义类的搜索路径。Java虚拟机(JVM)使用此路径来查找字节代码文件(.class文件)。

    **主要内容:**

    1. **用途**:当JVM试图加载某个类时,它会查看CLASSPATH中定义的路径来搜索该类的.class文件。
       
    2. **查看和配置**:CLASSPATH的查看与配置方式与PATH环境变量相同。

    3. **示例**:

        - **错误场景**:在C盘根目录下使用命令`java HelloWorld`尝试运行预先编译好的HelloWorld程序,结果报错(见图1-21)。错误的原因是JVM无法在指定的路径下找到HelloWorld.class文件。
        
        - **检查CLASSPATH**:使用`set classpath`命令查看当前CLASSPATH环境变量的值(见图1-22)。这将显示CLASSPATH是否已经包含了HelloWorld.class文件的路径。在此示例中,它没有被设置。

        - **设置CLASSPATH**:通过执行命令`set classpath=C:\Program Files\Java\jdk-11.0.11\bin`,为JVM指定了.class文件的位置。再次运行`java HelloWorld`后,程序成功执行并输出"hello world"(见图1-23)。这表明即使HelloWorld.class文件不在C盘根目录下,但只要在CLASSPATH中正确指定了其位置,`java HelloWorld`命令仍然可以正确执行。

    4. **注意事项**:从JDK 5开始,如果用户没有设置CLASSPATH环境变量,JVM会默认将CLASSPATH设置为“.”(即当前目录)。因此,在JDK 5及更高版本中,如果HelloWorld.class文件位于当前目录,并且没有设置CLASSPATH,那么JVM仍然可以找到并运行HelloWorld程序。

    ---

    **结论**: 理解和正确设置CLASSPATH对于Java编程是非常重要的。如果JVM不能在CLASSPATH指定的位置找到.class文件,程序就会失败。另外,JDK的后续版本提供了一些便利性,例如默认的CLASSPATH设置为当前目录,这使得开发过程更加简便。但仍然需要确保了解和掌握如何手动设置CLASSPATH。

     

  • 相关阅读:
    ADS版图中连接提示线设置
    日撸 Java 三百行day54-55
    BUUCTF reverse wp 91 - 95
    Python+selenium自动化生成测试报告
    动态路由协议(一)
    文献管理工具 zotero插件下载集合
    要学很多数学吗 - 给要入行机器学习的朋友们的建议
    第三届阿里云磐久智维算法大赛——GRU BaseLine
    383.赎金信
    深入了解面向对象——面向对象的重要特征(C#)未写完
  • 原文地址:https://blog.csdn.net/tang7mj/article/details/133634563