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

转载于:https://www.cnblogs.com/allay/p/7422910.html

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环境变量配置 JDK环境变量

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

  4. Linux下Java环境变量配置

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

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

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

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

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

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

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

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

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

  9. JAVA环境变量配置详解(全网最新详细教程)

    JAVA环境变量配置 JDK的下载与安装 jdk下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads ...

最新文章

  1. java set转list,数组与list的转换
  2. TVS二极管电压6V,有哪些型号?
  3. python代码有时候在命令行下和Python Shell中执行的结果不一样?
  4. C++ Heavy Light Decomposition重轻分解的实现算法(附完整源码)
  5. 苹果mac休眠快捷键_Mac技巧|如何高效使用苹果便笺?用便笺快捷键快速完成操作...
  6. SAP Spartacus outlet.directive.ts里this.templateRef的来源
  7. select into from和insert into select
  8. 丈夫博士毕业想离婚,妻子要求家务补偿!法院判了
  9. python在统计中的应用_Python在简单数据统计中的应用--随笔记
  10. alert点击完确定关闭浏览器窗口_为Microsoft Edge浏览器开启标签组功能
  11. CCF201409试题
  12. six.move 的作用
  13. 神经网络自适应反馈控制设计
  14. mysql emoji表情_mysql utf8mb4与emoji表情
  15. 20载辉煌落幕乒坛告别活着的传奇 瓦尔德内尔告别第48届世乒赛
  16. ReSharper未按照预期路径安装后如何修改(Windows 找不到“C:\Program Files (x86)\JetBrains\Installations”。请检查拼写并重试)
  17. 怎么确定自己毕业论文方向?
  18. QQ邮箱获取和使用授权码
  19. 叠加等边三角形的绘制 python_叠_叠是什么意思_叠字怎么读_叠的含义_叠字组词-新东方在线字典...
  20. 最近美团前端面试题目整理

热门文章

  1. app pour android,Pokédex pour Android (FR)
  2. 【HTML总复习】一文带你查漏补缺,暖你一整天
  3. 3DMM(3D Morphable Model)原理和实现
  4. 黑苹果相关(说好的不折腾)
  5. Faithfully yours, nginx. 浏览器中显示包504,504 Gateway Time-out解决办法
  6. 创建文件夹 java_java文件操作 之 创建文件夹路径和新文件
  7. 【每日学习】深度学习相关知识
  8. oracle数据库表数据误删除恢复
  9. 023 A转置矩阵=A的性质(三大性质)
  10. Win10电脑没有打开蓝牙的按钮怎么办?