Java环境配置的Path、CLASSPATH、JAVA_HOME的作用_classpath,javahomelib是-程序员宅基地

技术标签: Java  环境变量  Java学习笔记  

一开始学习Java的时候配置这三个环境变量配置的死去活来的,但是因为当时学习的比较急,也没有怎么去专门了解环境变量配置的用处。结果今天一个学Python的师兄突然问我Java的这个环境变量配置的一些小细节,我也把当初在《疯狂Java讲义》上看到的相关内容给忘了不少,导致无法很完善地跟师兄讲解,反思了一下,补个笔记

JAVA_HOME的作用

  • 第一个作用:模块化

    在接下来的PATH、CLASSPATH配置路径时方便引用,减少配置时手动输入的路径(其实这不算啥特别有用的作用,毕竟一般输入路径都是直接打开JDK的根目录在上面的搜索栏复制路径粘贴的…)

    JDK路径改变后,不需要每个PATH进行更改,只需改变JAVA_HOME中的路径

  • 第二个作用:特殊性

    在Eclipse、NetBeans、Tomcat等软件中,他们通过搜索JAVA_HOME来寻找并使用已安装好的jdk

Path的作用

Windows操作系统根据Path环境变量来查找命令

  • 这样的解释可能大家不太能理解,举个栗子吧:如果我没有配置这个PATH,那么我在cmd中要使用java命令或者javac命令,我需要先cd加载到我存放这两个可执行文件的目录,然后才能运行这两个命令。否则会出现“‘java’不是内部或外部命令,也不是可运行的程序”。但是,如果我配置了PATH这个路径,那么我无论在哪个目录我都可以直接使用java和javac这两个命令进行操作

CLASSPATH的作用

在cmd中使用“java classname.class”这样的命令操作时,即在cmd中运行java程序时,JRE通过这个CLASSPATH去搜索执行的class文件

  • CLASSPATH的普遍配置是这样:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar

  • 上面的解释可能也不够清晰,再举个栗子:比如说我已经配置好了CLASSPATH但是配置路径中不包括引号中的这个小黑点 ‘.’ (就是上面的普遍配置最前面的那一点),那么当你cmd中想要运行一个class文件比如“javac test.java”后会显示“找不到或无法加载主类”

  • 如下图 而这个环境变量的这个小黑点,’.‘小黑点起到的作用就是搜索当前路径,即我目前路径为D:\,则搜索这个路径下的test.class文件
    在这里插入图片描述

  • 如果除了我上面说的这种情况,使用java命令还是显示这种“找不到或无法加载主类”的错误,可以看我的另一篇文章
    JAVA杂记——找不到或无法加载主类

  • 再顺便科普一下,其实这个CLASSPATH环境变量已经没有必要去配置它了,只有早期的JDK版本需要设置CLASSPATH变量,在JDK9后,它的lib目录中都已经不包含dt.jar和tool.jar这两个包了,而‘.’的搜索当前路径下的class文件这个功能,不去设置CLASSPATH的话,这就是它的默认搜索路径。
    jdk1.4以后(不包括1.4)的jdk版本用户可以尝试着删除CLASSPAHT然后进行java命令的使用测试,其实是没有收到影响的。

希望我的文章能够帮到大家

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_43201188/article/details/90949457

智能推荐

antd-vue 实现仿钉钉同时上传文件和文件夹_antv design同时上传文件、文件夹-程序员宅基地

文章浏览阅读1.4k次。最近在模仿钉钉,做一个企业内部沟通管理软件,技术使用了 Ant Design Vue 、Electron,功能主要有聊天、文档、通讯录、工作台,对于钉钉的上传文件,既有单个文件,也有文件夹,如图于是自己摸索着也实现了一个,直接上代码<a-upload ref="upload" class="dd-display-inline" :show-upload-list="false" :directory="isDirectory" :open-file-dialog-on-clic_antv design同时上传文件、文件夹

萨里大学计算机博士申请,4.11微分享丨本科直博拿下港中文CSE全奖博士,师兄带你敲开申请大门...-程序员宅基地

文章浏览阅读933次。原标题:4.11微分享丨本科直博拿下港中文CSE全奖博士,师兄带你敲开申请大门飞彼留学,专注世界名校申请,你靠谱的留学导师 随着人工智能在生活中运用广泛计算机专业依然是留学申请大热留学中的“香饽饽”每年的申请热潮有增无减!那么计算机类留学申请有什么特点研究型项目我该如何选择留学准备工作如何开展实习和科研的机会都从何而来申请到顶级选校需要具备什么条件.......4月11日飞彼2020Fall港中文..._本科华南理工大学全奖cs博士

是什么让程序员对工作失去了激情?-程序员宅基地

文章浏览阅读271次。web前端教程用大白话,来讲编程外行的人都说程序员是高薪工作,那么程序员工作仅仅是为了钱吗?如果仅为了钱,是什么使程序员们辞去工作?离开高待遇的工作的最常见原因就是缺乏激..._大学生程序员上班之后就不在活泼了

python %f格式化输出float的三种用法-程序员宅基地

文章浏览阅读6.4k次,点赞10次,收藏23次。f是python内置的格式化输出符号,主要用于输出浮点数,一般需要跟print()内置函数进行搭配使用。下面的内容将介绍三种%f的用法。二、%f输出指定小数点后位数的用法。三、%m.nf输出指定位数的用法。一、%f输出浮点数的基本用法。python %f三种用法。_python %f

LWN: OSPM会议讨论如何测试scheduler行为-程序员宅基地

文章浏览阅读474次。点击上方蓝色字关注我们~Scheduler behavioral testingJuly 10, 2019OSPM译者注:OSPM是刚刚结束的第三届Operating-S..._ospm

推荐一款忙里偷闲的上班摸鱼阅读神器_电脑阅读软件 摸鱼-程序员宅基地

文章浏览阅读38次。这款摸鱼阅读软件非常的好用,背景透明不易被发现,可以随意拖动位置,软件的窗口可以随意调节,文字字体大写、间距、样式都可以调整,用起来非常方便,简直就是上班党的福音啊!这个是软件右键菜单设置。_电脑阅读软件 摸鱼

随便推点

java计算机毕业设计公寓合租系统(附源码+springboot+开题+论文+部署)-程序员宅基地

文章浏览阅读500次,点赞13次,收藏15次。同时,系统的出租房源和租赁订单管理功能,能够实现房源信息的实时更新和订单状态的在线追踪,确保合租过程的透明和高效。为解决上述问题,我们提出以下研究方案:首先,建立严格的房源审核机制,对发布的房源信息进行实名认证和实地考察,确保信息的真实性;其次,采用先进的推荐算法和机器学习技术,根据用户的偏好和需求,智能推荐合适的房源,提高匹配效率;租赁订单管理模块则负责处理用户的租赁请求和订单状态的管理。在公寓合租系统的研究与开发过程中,我们拟解决的主要问题包括:如何确保房源信息的真实性和准确性,以维护用户的合法权益;

nagios mysql 主从 监控_nagios监控mysql主从复制-程序员宅基地

文章浏览阅读67次。nagios监控mysql主从复制nagios监控mysql主从复制作者:田逸([email protected])起因:nagios可能监控到mysql服务的运行情况,但确不能监控mysql的主从复制是否正常:有时候,同步已经停止,但管理人员却不知道。下手处:登陆mysql从服务器,通过执行 mysql> show slave status\G查看其输出,即可判定主从复制是否正常。下面是某个从服务器..._nagios监控mysql主从复制状态

Linux下,Apache及PHP项目报Core错误Program terminated with signal 7, Bus error_program terminated with signal 7, bus error.-程序员宅基地

文章浏览阅读4.9k次。最近上线的一个项目,使用Apache 2.2.32及ThinkPHP3.23,每天访问量共有几万吧,但会出现几十次错误,表现就是Apache根目录下,会出现Core.XXXXX的文件,同时错误日志内会显示:[Thu Nov 30 09:06:04 2017] [notice] child pid 11507 exit signal Bus error (7), possible coredump_program terminated with signal 7, bus error.

Netty实现websocket仿微信网页版分布式_netty websocket springcloud 分布式-程序员宅基地

文章浏览阅读785次。系列文章目录第一章SpringCloud+Nacos+Netty搭建分布式的WebSocket简单集群,后续完善即时通讯聊天系统_weixin_42496578的博客-程序员宅基地文章目录系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结前言上一章主要搭建了基础服务的使用,可以简单的进行通信,本章结合前端项目进行仿微信网页版开发,主要进行开发方案,数据库设计,代码部分讲解,前端vue项目使用,感谢网上的前端大佬开源的vu._netty websocket springcloud 分布式

Abaqus随机球体三维圆柱体试件建模插件-程序员宅基地

文章浏览阅读360次,点赞5次,收藏10次。AbyssFish Random Sphere Cylinder 3D V2.0 插件可在Abaqus内参数化生成随机分布的球体部件及圆柱体试件三维模型。插件可用于构建球体骨料混凝土细观、球体弹丸、泡沫混凝土、多孔结构模型等,可设置模型的尺寸、球体的粒径分布、球体比例等参数。

python3.8 导致 ImportError: cannot import name ‘clock‘ from ‘time‘ (unknown location)_cannot import name 'clock' from 'time' (unknown lo-程序员宅基地

文章浏览阅读3k次,点赞3次,收藏5次。# 原因是3.8已经放弃time的clock。解决方案:找到对应源文件,该里面的内容将time中的clock用process_time来替代from time import clock as timer # 改为from time import process_time as timer#### 方法二(没奏效)pip install passlib==1.7.2..._cannot import name 'clock' from 'time' (unknown location)

推荐文章

热门文章

相关标签