CLASSPATH是什么?它的作用是什么?

它是javac编译器的一个环境变量。它的作用与import、package关键字有关。当你写下improt java.util.*时,编译器面对import关键字时,就知道你要引入java.util这个package中的类;但是编译器如何知道你把这个package放在哪里了呢?所以你首先得告诉编译器这个package的所在位置;如何告诉它呢?就是设置CLASSPATH啦 :) 如果java.util这个package在c:/jdk/ 目录下,你得把c:/jdk/这个路径设置到CLASSPATH中去!当编译器面对import java.util.*这个语句时,它先会查找CLASSPATH所指定的目录,并检视子目录java/util是否存在,然后找出名称吻合的已编译文件(.class文件)。如果没有找到就会报错!CLASSPATH有点像c/c++编译器中的INCLUDE路径的设置哦,是不是?当c/c++编译器遇到include 这样的语句,它是如何运作的?哦,其实道理都差不多!搜索INCLUDE路径,检视文件!当你自己开发一个package时,然后想要用这个package中的类;自然,你也得把这个package所在的目录设置到CLASSPATH中去!CLASSPATH的设定,对JAVA的初学者而言是一件棘手的事。所以Sun让JAVA2的JDK更聪明一些。你会发现,在你安装之后,即使完全没有设定CLASSPATH,你仍然能够编译基本的JAVA程序,并且加以执行。

.....................................................................................................................................................

1. PATH环境变量。作用是指定命令搜索路径,在命令行下面执行命令如javac编译java程序时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好PATH变量后,就可以在任何目录下执行javac/java等工具了。我们这里设定的PATH值为:

%SystemRoot%/system32;%SystemRoot%;%SystemRoot%/System32/Wbem;%SYSTEMROOT%/System32/WindowsPowerShell/v1.0/;C:/Program Files/Common Files/Thunder Network/KanKan/Codecs;C:/Program Files/Microsoft SQL Server/90/Tools/binn/;C:/Program Files/Common Files/TTKN/Bin;C:/Program Files/Common Files/Teleca Shared;C:/Program Files/Java/jdk1.6.0_21/bin

上述只有红色部分;C:/Program Files/Java/jdk1.6.0_21/bin是java的PATH变量,注意变量之间需要用";”隔开。

2. CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPATH来寻找类的。我们需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。这里CLASSPATH为:

.;C:/Program Files/Java/jdk1.6.0_21/lib/dt.jar;C:/Program Files/Java/jdk1.6.0_21/lib/tools.jar

3. JAVA_HOME环境变量。它指向jdk的安装目录,Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。这里JAVA_HOME为:

C:/Program Files/Java/jdk1.6.0_21

.....................................................................................................................................................

java环境变量配置步骤:

在windows桌面上右击“我的电脑” —> “属性” —> “高级” —> “环境变量”,在“系统变量”里我们可以看到系统的各个环境变量的值。双击某个变量名可以修改变量值,变量值之间用“;”隔开。我们还可以“新建”原先没有的变量。与jdk有关的有3个环境变量;“JAVA_HOME”,“PATH”,“CLASSPATH”。我的系统中“PATH”变量已经存在,可以直接添加新值(其它变量值不要动,防止其它程序运行异常),其它两个变量需要新建。

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

JAVA_HOME = C:\Program Files\Java\jdk1.5.0

PATH  = ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;

从上面我们可以看出,PATH和CLASSPATH都使用到了JAVA_HOME,也可以使用绝对路径,两者皆可。

转自:http://www.cnblogs.com/xwdreamer/archive/2010/09/08/2297098.html

classpath、path、JAVA_HOME的作用及JAVA环境变量配置 (转)的更多相关文章

  1. classpath、path、JAVA_HOME的作用及JAVA环境变量配置

    CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...

  2. 【java】【转发】classpath、path、JAVA_HOME的作用及JAVA环境变量配置

    CLASSPATH是什么?它的作用是什么? 它是javac编译器的一个环境变量.它的作用与import.package关键字有关.当你写下improt java.util.*时,编译器面对import ...

  3. java环境变量配置(转)

    java环境变量配置 windows xp下配置JDK环境变量: 1.安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为D:\java\jdk1.5.0_08: 2.安装完成后,右 ...

  4. java环境变量配置四种方法

    原文:java环境变量配置四种方法 Java编程首要工作就是安装JDK(Java Development Kit).一通“NEXT”点完安装后就是最重要的环境变量设置了.也许有人会问为什么要设置环境变 ...

  5. Windows系统环境变量、JAVA环境变量配置以及JVM加载过程

    一:用户变量和系统变量的区别 右击我的电脑.属性.高级系统设置.环境变量. 对话框的上面为Administrator的用户变量,对话框的下面为系统变量.我们所说的环境变量一般指系统环境变量,对所有用户 ...

  6. win10中java环境变量配置

    首先,应该安装jdk,jdk的安装一般是jdk8,一般情况下去官网下载,此处有jdk8的网盘链接: -- 在安装jdk时候,可以看下这篇jdk和jre区别的博客--,有助于理解两者的区别和联系. 接触 ...

  7. java环境变量配置

    1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME 变量值:C:\Program Files\Java\jdk1.7.0 ...

  8. Java 学习第一步-JDK安装和Java环境变量配置

    Java学习第一步——JDK安装及Java环境变量配置 [原文]  2014-05-30 9:09  Java SE  阿超  9046 views Java作为当下很主流的编程语言,学习Java的朋 ...

  9. Windows 10 Java环境变量配置

    Win10下 Java环境变量配置 首先,你应该已经安装了 Java 的 JDK 了(如果没有安装JDK,请跳转到此网址:http://www.oracle.com/technetwork/java/ ...

  10. Windows 7下配置JDK环境变量和Java环境变量配置

    下面来介绍一下Java环境变量配置,是在Windows 7下配置JDK环境变量. 方法/步骤  1 安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为:C:\Program Fil ...

随机推荐

  1. 057_Apex 开发中的问题

    2019/12/27 补充内容: 1. %2F 由于页面的按钮点击或者Detail 页面编辑url中会生成 returnURL=%2F id,需要注意下 2. Trigger 中, __r 与触发条件 ...

  2. c++ thread, 模板类,锁的调用实例

    #include<thread> #include<condition_variable> #include<mutex> #include<queue> ...

  3. vue 封装时间格式化和number精确度

    //format.js 公用js /** * Parse the time to string * @param {(Object|string|number)} time * @param {str ...

  4. oracle相关知识

    1. 给表字段添加注释的语法 comment on column 表名.字段名 is '注释信息'; 2. 数据库字段重命名 alter table ORGAN_PARTER_EXT_TWO rena ...

  5. Java基础Day5-数组

    一.数组声明创建 首先必须声明数组变量,才能在程序中使用数组. 声明数组变量的语法如下: dataType[] arrayRefVar; 例如: int[] nums; Java语言使用new操作符来 ...

  6. ICMP-ping报错类型

    ICMP数据包的包头,两个重要字段Type和Code,如图所示 ICMP消息类型和编码类型 回显请求包,正常为80 回显回复包,正常为00 其余均为报错类型. 超时:对方主机不在线.屏蔽等 传输失败: ...

  7. 上分准备 VP Codeforces Round #762 (Div. 3) 4题ABCE

    +00:02 +00:16 +01:08   +02:07 VP 情况  4/8 ABCE ,赛时排名可以到823,什么时候我可以上个青 B 本想写个map的二分的,发现自己不会,写了个普普通通的二分 ...

  8. Vue Element使用第三方图标(iconfont阿里矢量图标库)

    在  www.iconfont.cn 中搜索图标并加入购物车然后添加至项目,编辑项目名称 然后将项目下载至本地解压后将如下文件复制移到到  src/assets/icon中, 并把iconfont.c ...

  9. IDEA的安装与使用

    IDEA官网 进入该链接下载社区版就行 下载过后安装 安装之后写第一个代码 直接右键src-new-Java class 写入psvm 再写sout 再写输出的话就可以完成 非常方便

  10. 批量cp时中断,原来是被cp的alias干扰了

    背景 批量复制一批数据的质控结果的时候,由于表格中出现一个重复项,导致卡在是否覆盖的提示这里 结果该重复项之后的样本都没有复制成功,差点就漏掉一部分样本啊-- cat ../sampleList|wh ...