关于JAVA_HOME, CLASSPATH和PATH的设置

http://bbs.csdn.net/topics/120079565

1、PATH,这个是给WINDOWS操作系统用的,告诉命令行里,执行的命令行工具在那里,比如java,javac这都是命令行工具,你在运行里随便敲一个命令,操作系统怎么就知道你这个命令对应的程序在什么地方,就是通过PATH知道的,你编写JAVA程序的时候,需要编译你的代码,执行编译后的代码,用JAVA和JAVAC这2个工具,那么就必须告诉操作系统,这2个工具放在什么地方。
2、JAVA_HOME,是告诉操作系统,JAVAC和JAVA的具体位置的,因为你安装JAVA的路径可能比较长,不方便在PATH里面写,所以就等于是声明一个简写。
3、CLASSPATH,是给JAVAC和JAVA用的,告诉他们,你写的JAVA类,是放在什么地方的

JAVA_HOME=C:\jdk1.5.0_06

 

PATH=%JAVA_HOME%\bin;%PATH%

CLASSPATH=.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar

 

http://bbs.csdn.net/topics/340232733

以下为置JAVA_HOME,CLASSPATH,PATH的目的: 
1,设置JAVA_HOME: 
一、为了方便引用,比如,你JDK安装在C:\Program Files\Java\jdk1.6.0目录里,则设置JAVA_HOME为该目录路径, 那么以后你要使用这个路径的时候, 只需输入%JAVA_HOME%即可, 避免每次引用都输入很长的路径串; 
二、归一原则, 当你JDK路径被迫改变的时候, 你仅需更改JAVA_HOME的变量值即可, 否则,你就要更改任何用绝对路径引用JDK目录的文档, 要是万一你没有改全, 某个程序找不到JDK, 后果是可想而知的----系统崩溃! 
三、第三方软件会引用约定好的JAVA_HOME变量, 不然, 你将不能正常使用该软件, 以后用JAVA久了就会知道, 要是某个软件不能正常使用, 不妨想想是不是这个问题. 

2,设置CLASSPATH: 
这 是一个很有趣,当然也比较折磨初学者的问题, 这个变量设置的目的是为了程序能找到相应的".class"文件, 不妨举个例子: 你编译一个JAVA程序---A.java, 会得到一个A.class的类文件,你在当前目录下执行java A, 将会得到相应的结果(前提是你已经设置CLASSPATH为"."). 现在, 你把A.class移到别的目录下(例如:"e:\"), 执行java A, 将会有NoClassDefFindError的异常,原因就是找不到.class文件, 现在你把CLASSPATH增加为:".;e:\"再运行java A, 看看会有什么结果~~:)~~~, 一切正常, java命令通过CLASSPATH找到了.class文件! 

3,设置PATH: 
道理很简单, 你想在任何时候都使用%JAVA_HOME%\bin\java 等来执行java命令吗, 当然不会, 于是, 你可以选择把 %JAVA_HOME%\bin添加到PATH路径下, 这样, 我们在任何路径下就可以仅用java来执行命令了.(当你在命令提示符窗口输入你个代码时,操作系统会在当前目录和PATH变量目录里查找相应的应用程 序, 并且执行. 

 

 

转载于:https://www.cnblogs.com/shangdawei/p/3282791.html

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

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

相关文章

P2327 [SCOI2005]扫雷

题目描述 输入输出格式 输入格式&#xff1a; 第一行为N&#xff0c;第二行有N个数&#xff0c;依次为第二列的格子中的数。&#xff08;1< N < 10000&#xff09; 输出格式&#xff1a; 一个数&#xff0c;即第一列中雷的摆放方案数。 输入输出样例 输入样例#1&#xff…

天津海运[600751]股票

2019独角兽企业重金招聘Python工程师标准>>> 天津海运[600751]股票 转载于:https://my.oschina.net/chworld/blog/425583

【RK3399Pro学习笔记】十六、ROS中的常用可视化工具

目录测试rqt_consolerqt_graphrqt_plotrqt_image_viewrqtrvizgazebo平台&#xff1a;华硕 Thinker Edge R 瑞芯微 RK3399Pro 固件版本&#xff1a;Tinker_Edge_R-Debian-Stretch-V1.0.4-20200615 记录自【古月居】古月ROS入门21讲 | 一学就会的ROS机器人入门教程 —— 古月居G…

datatables 基本增删改查(php)

http://www.datatables.club/example/user_share/basic_curd.html

基于leveldb,levigo做二次开发

Leveldb是一个C库&#xff0c;它有提供标准的C接口&#xff0c;头文件在include/leveldb/c.h中 levigo是leveldb 的一个go wrapper,它主要基于Leveldb中inlude/leveldb/c.h提供的方法做二次开发 开发过程&#xff0c;以添加一个简单的计算功能为例&#xff1a; 修改leveldb源码…

Cocos2d-x 3.2:通过ClippingNode实现一个功能完善的跑马灯公告(1)

Cocos2d-x 3.2&#xff1a;通过ClippingNode实现一个功能完善的跑马灯公告&#xff08;1&#xff09; 本文转载至深入理解Cocos2d-x 3.x&#xff1a;一步一步通过ClippingNode实现一个功能完善的跑马灯公告&#xff08;1&#xff09; 这篇文章主要是通过一步一步实现一个功能完…

option columns.render 渲染列(1) 添加checkbox

http://www.datatables.club/manual/daily/2016/04/25/option-columns-render1.html

【STC15库函数上手笔记】1、建立工程

目录新建工程添加文件到工程中main.c时钟STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 在STC官网发现了库函数&#xff0c;大受震撼&#xff1a; 宏晶科技官方网站 直接搜“库函数”&#xff0c;目前仅有STC15和STC8系列有库函…

vsUnit单元测试

在自定义的方法名上【右键】然后选择【创建单元测试】&#xff0c;之后在项目中就添加了一个单元测试的项目&#xff0c;找到对应的单元测试的方法[TestMethod()]特性修饰&#xff0c;将单元测试的方法中最后一句&#xff1a;Assert.Inconclusive("验证此测试方法的正确性…

hdu 6086 Rikka with String(AC自动机+状压dp)

题目链接&#xff1a;hdu 6086 Rikka with String 题意&#xff1a; 给你n个只含01的串&#xff0c;和一个长度L,现在让你构造出满足s[i]≠s[|s|−i1] for all i∈[1,|s|] &#xff0c;长度为2L&#xff0c;并且包含给出的n个串&#xff0c;问能有多少种这样的串。 题解&#x…

简单文件传输TFTP服务器搭建 Linux RHEL6

Tftp 的应用场合1、交换机或路由器升级或备份2、无盘工作站 存放boot loader3、嵌入式开发时装载系统4、大规模的服务安装布署安装1、# yum install xinetd# yum install -y tftp-server2、检查是否开机启动# chkconfig --list | grep xinetxinetd 0:off 1:off 2:…

【STC15库函数上手笔记】2、GPIO

目录硬知识IO口初始化函数测试main.c实验现象STC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 IO口初始化函数 GPIO_Inilize GPIO_InitTypeDef的定义见于文件"GPIO.H"。 typede…

带有Flask的服务器端DataTable

https://github.com/SergioLlana/datatables-flask-serverside

Json-转自菜鸟教程

1. python中为什么用json有什么作用&#xff1f;&#xff1f;不是python用json&#xff0c;json是类似xml的一种通用格式&#xff0c;在很多地方都可以用。json相比xml&#xff0c;数据量更小&#xff0c;而且可以很方便的和解释型语言的结构相互转换。 2. 常用的两种Json函数&…

centos下编译安装curl拓展

---恢复内容开始--- 新的php环境没有curl拓展&#xff0c;现在用编译方式增加拓展。 一、安装curl 当前curl最新版本为7.32&#xff0c;下载地址为http://curl.haxx.se/download/curl-7.32.0.tar.gz 使用wget方式下载到相关目录 wget http://curl.haxx.se/download/curl-7.32.0…

iOS UITableView 移除单元格选中时的高亮状态

郝萌主倾心贡献&#xff0c;尊重作者的劳动成果&#xff0c;请勿转载。 如果文章对您有所帮助&#xff0c;欢迎给作者捐赠&#xff0c;支持郝萌主&#xff0c;捐赠数额随意&#xff0c;重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X&#xff1a;点我传送 在处理UITableView表格时…

【STC15库函数上手笔记】3、外部中断

目录硬知识外中断初始化函数测试main.cExti.cSTC实验箱4 IAP15W4K58S4 Keil uVision V5.29.0.0 PK51 Prof.Developers Kit Version:9.60.0.0 硬知识 摘自《STC库函数使用参考》 外中断初始化函数 Ext_Inilize EXTI_InitTypeDef的定义见于文件"Exti.H"。 typed…

Mac pycharm flask 用内网ip 运行 web

1. 菜单 run -> run 2. 选择&#xff0c;你要运行的 py 程序 3. 设置 Additional options: 为 --host0.0.0.0 &#xff0c;把 FLASK_DEBUG 的勾&#xff0c;去掉&#xff0c;如下图 4. 在 py 程序中 &#xff08;运行的主程序&#xff09;&#xff0c; 修改以下代码 …

Function Programming - 柯里化(curry)

看到一篇非常不错的文章&#xff0c;这里分享给大家&#xff1a;http://www.jianshu.com/p/fa3568087881。 首先&#xff0c;柯里化的定义&#xff1a;你可以只透过部分的参数呼叫一个function&#xff0c;它会回传一个function 去处理剩下的参数。 我们从最简单的栗子开始&…

MVC 页面传参到另一个页面

写法一&#xff1a; {ViewData["partData"]"哇哈哈哈哈";} {Html.RenderPartial("~/Views/Home/PartTargetView.cshtml");} 写法二&#xff1a; Html.RenderPartial("PartTimeJob", Model);转载于:https://www.cnblogs.com/jys509/…