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。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/150025.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Ambari】银河麒麟V10 ARM64架构_安装Ambari2.7.6HDP3.3.1问题总结

🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文…

起重机笔记 - 进阶篇(编辑中...)

1.双速葫芦 起重机在实际使用过程中,要兼顾效率和最大载重这两个因素,所以,起重机厂商会推出双速葫芦。双速葫芦的变速比,10吨的级别,最高可以达到1:10甚至更靠上。大功率的低速档用于提升高载荷负重,高速…

3分钟基于Chat GPT完成工作中的小程序

1. 写在前面 GPT自从去年爆发以来,各大公司在大模型方面持续发力,行业大模型也如雨后春笋一般发展迅速,日常工作中比较多的应用场景还是问答模式,作为写程序的辅助也偶尔使用。今天看到一篇翻译的博客“我用 ChatGPT,…

学习开发一个RISC-V上的操作系统(汪辰老师) — unrecognized opcode `csrr t0,mhartid‘报错问题

前言 (1)此系列文章是跟着汪辰老师的RISC-V课程所记录的学习笔记。 (2)该课程相关代码gitee链接; (3)PLCT实验室实习生长期招聘:招聘信息链接 正文 (1)在跟着…

基于Springboot的漫画网站springboot022

大家好✌!我是CZ淡陌。一名专注以理论为基础实战为主的技术博主,将再这里为大家分享优质的实战项目,本人在Java毕业设计领域有多年的经验,陆续会更新更多优质的Java实战项目,希望你能有所收获,少走一些弯路…

mac连接easyconnnect显示“本地环境出现异常”

mac连接easyconnnect显示“本地环境出现异常” 解决方法: 终端下输入:vim ~/.zprofile文件内加入如下内容,如下图: ####解决连接easyconnnect显示“本地环境出现异常问题 function EC_start(){/Applications/EasyConnect.app/Co…

详谈Spring

作者:爱塔居 专栏:JavaEE 目录 一、Spring是什么? 1.1 Spring框架的一些核心特点: 二、IoC(控制反转)是什么? 2.1 实现手段 2.2 依赖注入(DI)的实现原理 2.3 优点 三、AO…

Qt扩展-Advanced-Docking 简介及配置

Advanced-Docking 简介及配置 一、概述二、项目结构三、安装配置四、代码测试 一、概述 Advanced-Docking 是类似QDockWidget 功能的多窗口停靠功能的库。很像visual stdio 的 停靠功能,这个库对于停靠使用的比较完善。很多的软件都使用了这个框架。 项目源地址&a…

H3C交换机 DEV/1/FAN_DIRECTION_NOT_PREFERRED

1.现象 DEV/1/FAN_DIRECTION_NOT_PREFERRED: Fan 1 airflow direction is not preferred on slot 1, please check it. 2.解决方法: 查看下设备风扇的颜色,风扇分为红色与蓝色,不通颜色通风方式不通。 我这里的风扇是蓝色,修改…

亚马逊计划向开创性的人工智能初创公司Anthropic投资高达4亿美元

原创 | 文 BFT机器人 在一项巨大而突破性的举措中,亚马逊公布了向人工智能初创公司Anthropic投资高达4亿美元的计划,其愿景是创建更易于理解和可控的人工智能系统。此次合作标志着亚马逊打算在人工智能领域率先取得进步,巩固其在技术领域的地…

【已解决】Pyecharts折线图,只有坐标轴没有折线数据

【已解决】Pyecharts折线图,只有坐标轴没有折线数据 1、问题复现2、原因3、问题解决 1、问题复现 在做简单的数据通过 Pyecharts 生成折现图的时候,一直只有坐标轴没有折线数据,但是代码一直看不出问题,代码如下: im…

python scanpy spatial空转全流程

Spatial mapping of cell types across the mouse brain (1/3) - estimating reference expression signatures of cell types — cell2location documentation Spatial mapping of cell types across the mouse brain (2/3) - cell2location — cell2location documentation #…

尤雨溪:Vite的现状与未来展望

10 月 5 日 - 6 日,ViteConf 2023 在线举行,Vue 和 Vite 的创建者尤雨溪发表了题为《The State of Vite》 的演讲,他分享了 Vite 的现状与未来展望,本文就来看一看 Vite 现在怎么样了,以及未来的路将怎么走&#xff01…

halcon 中文识别

文章目录 简单的阈值处理发现颜色不统一,把‘游’字选出来膨胀处理把字扣下来进行阈值处理训练模型 简单的阈值处理 dev_close_window() **基于自定义中文识别库识别名称 read_image(Image,C:/Users/Augustine/Desktop/西游记.png) get_image_size(Image,Width,Hei…

springboot整合mybatis入门程序

1.准备工作(创建springboot工程、数据库表user、实体类User) 创建数据表: create table user(id int unsigned primary key auto_increment comment ID,name varchar(100) comment 姓名,age tinyint unsigned comment 年龄,gender tinyint unsigned comment 性别, 1…

计算机竞赛 题目:基于大数据的用户画像分析系统 数据分析 开题

文章目录 1 前言2 用户画像分析概述2.1 用户画像构建的相关技术2.2 标签体系2.3 标签优先级 3 实站 - 百货商场用户画像描述与价值分析3.1 数据格式3.2 数据预处理3.3 会员年龄构成3.4 订单占比 消费画像3.5 季度偏好画像3.6 会员用户画像与特征3.6.1 构建会员用户业务特征标签…

工信部教考中心:什么是《研发效能(DevOps)工程师》认证,拿到证书之后有什么作用!(下篇)丨IDCF

拿到证书有什么用? 提高职业竞争力:通过学习认证培训课程可以提升专业技能,了解项目或产品研发全生命周期的核心原则,掌握端到端的研发效能提升方法与实践,包括组织与协作、产品设计与运营、开发与交付、测试与安全、…

信创办公–基于WPS的EXCEL最佳实践系列 (条件格式)

信创办公–基于WPS的EXCEL最佳实践系列 (设置条件格式) 目录 应用背景操作步骤1、选用条件格式1.1 筛选出迟到次数超过3次的数据1.2 筛选出早退次数位于前三的数据1.3 个人加班时长在总体中所占的在的位置 2、删除条件格式2.1 清除规则2.2 管理规则 应用…

铭控传感亮相2023国际物联网展,聚焦“多场景物联感知方案”应用

金秋九月,聚焦IoT基石技术,荟萃最全物联感知企业,齐聚IOTE 2023第20届国际物联网展深圳站。铭控传感携智慧楼宇,数字工厂,智慧消防,智慧泵房等多场景物联感知方案及多品类无线传感器闪亮登场,现…

Docker 基础

一、快速入门: 1.Docker的安装 安装docker引擎 官方网址:Install Docker Engine on CentOS | Docker Docs 朋友们,有坑,千万不要用官方的仓库,就是下面这一步 记得用国内的镜像源: yum-config-manager …