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://blog.csdn.net/xw13106209搬家过来

分析classpath、path、JAVA_HOME的作用及JAVA环境变量配置(转发博客园)相关推荐

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

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

  2. classpath、path、JAVA_HOME的作用及JAVA环境变量配置 (转)

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

  3. java环境变量设置 win2003,Windows下Java环境变量配置方法-博客

    小老弟最近在学习Java,顺便做下学习笔记,仅供自己以后方便回顾,希望大家批评指正帮助小老弟进步! 学习Java首先就是安装JDK(Java Development Kit),即Java开发工具包,大 ...

  4. java环境变量配置 JDK环境变量

    JAVA_HOME:C:\Program Files\Java\jdk1.6.0_21 PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; classpath:.;%J ...

  5. Linux下Java环境变量配置

    在Java开发中,在安装完jdk之后,首先需要做的工作就是进行Java环境变量配置.在Windows下的配置我们都比较熟悉,图形化界面配置起来也相对容易(详见:Windows7下环境变量配置),接下来 ...

  6. java环境变量的配置_一文带你学会Java环境变量配置(小白向)

    很多人初学Java的时候,因为Java环境变量的配置卡的心烦意乱. 又有很多人百度上翻来翻去,得到的答案五花八门,让你头晕眼花. 你肯定也在想,不就是个环境变量的配置吗?为什么搜了那么多答案,依然不能 ...

  7. JAVA环境变量配置与配置后CMD的使用

    JAVA环境变量配置: 直接在环境变量Path(或PATH,大小写无所谓)里加上 :JDK安装路径名/bin 也可以先设JAVA_HOME然后再设JAVA_HOME/bin,但必须是在同一区域中进行设 ...

  8. 图文详解Java环境变量配置方法

    今天动力节点java学院小编为大家介绍"图文详解Java环境变量配置方法",希望对各位小伙伴有帮助,下面就和小编一起来看看Java环境变量配置方法吧. 首先是要安装JDK,JDK安 ...

  9. display环境变量如何配置_JDK 安装 Java环境变量配置

    你的关注是我们最大的动力 JDK 安装 Java环境变量配置 JDK是 Java 语言的软件开发工具包,主要用于移动设备.嵌入式设备上的java应用程序.JDK是整个java开发的核心,它包含了JAV ...

最新文章

  1. Centos7:Docker私有仓库搭建和使用
  2. 编程菜鸟的日记-初学尝试编程-寻找2到n之间的素数并输出
  3. java wait方法_java wait方法
  4. 将命令结果赋给变量_不得不了解的quot;变量quot;(2)—— 变量的赋值
  5. [程序猿感悟] [悟] 两篇不错的文章 (转载自 stay4it )
  6. lamp mysql安全_LAMP第三部分php,mysql配置
  7. Spark实例项目—每个域名下访问次数最多的URL
  8. 实现Apriori算法(python)
  9. 7-8 统计工龄 (20 分)
  10. 《统计数据会说谎》阅读总结
  11. HTML之meta属性大全
  12. python123数字转换_Python 中文(大写)数字转阿拉伯数字(转)
  13. 全球及中国单波束回声探测仪行业十四五发展规划及项目前景评估报告2022-2027年
  14. Python科学计算-Numpy和Pandas学习笔记(一)-安装、Numpy属性和常用方法(chaochao`s Blog)
  15. python中词云图是用来描述_Python如何实现中国地图词云图
  16. OpenCV——PS 滤镜, 浮雕效果
  17. jfinal中json字符串转对象类
  18. 在嵌入式linux上玩OpenGL
  19. PHP jQuery微信大转盘抽奖源代码分享
  20. 机器学习中的数学——常用概率分布(一):伯努利分布(Bernoulli分布)

热门文章

  1. (一)随处可见的LED广告屏是怎么工作的呢?
  2. java 获取星期几_java中获取日期是星期几的两种方法
  3. visual studio安装进度条为零,检查网络链接;aka.ms拒绝连接,因为使用的HSTS...;无法访问github.com;外网无法访问
  4. 小技巧之统计代码行数
  5. ZYNQ学习之旅--PS_AXI_VDMA(利用VDMA实现将PS端的数据显示在PL端的HDMI上)
  6. SAP SCC4 客户端设置的用法
  7. android 应用软件注册与自动登录代码
  8. STM32F429第二十八篇之ADC
  9. Java高效率复习-面向对象下篇[Java]
  10. 《Linux就该这么学》培训笔记_ch00_认识Linux系统和红帽认证