大凡装过JDK的人都知道要安装完成后要设置环境变量,可是为什么要设置环境变量呢?环境变量有什么作用?

1)PATH详解:

计算机安装JDK之后,输入“javac”“java”之类的命令是不能马上被计算机正确执行的,因为计算机不知道到哪里去找这两个命令。

计算机如何查找命令呢?Windows操作系统根据PATH环境变量来查找命令。PATH环境变量的值是一系列路径,Windows操作系统将在这一系列的路径中依次查找命令,如果能找到这个命令,则该命令是可执行的;否则将出现“‘XXX’不是内部命令或外部命令,也不是可运行的程序或批处理文件”的提示。而Linux操作系统则根据PATH环境变量来查找命令,PATH环境变量的值也是一系列路径。因为Windows操作系统不区分大小写,设置Path和PATH并没有区别;而Linux操作系统是区分大小写的,设置Path和PATH是有区别的,因此只需要设置PATH环境变量即可。

对于Windows系统而言,名为Path的系统环境变量已经存在,可以直接修改该环境变量,在该环境变量值后面追加如   D:\Java\jdk1.7.0\bin(JDK的安装路径)。或者新建一个名为PATH的环境变量,设置它的值为 D:\Java\jdk1.7.0\bin

Linux平台下的环境变量是通过 .bash_profile 文件来设置的。在该文件的PATH变量后面添加:/home/Java/jdk1.7.0 /bin(JDK安装路径)

PATH= .:$PATH : $HOME/bin : /home/Java/jdk1.7.0/bin

完成了PATH变量的设置后,在 .bash_profile 文件最后添加导出PATH变量的语句

export PATH

重新登陆Linux或执行如下命令让文件中的PATH变量生效:

source .bash_profile

2)CLASSPATH详解:

实际上,如果使用1.5版本以上的JDK,完全可以不用设置CLASSPATH环境变量。

CLASSPATH环境变量的作用是什么呢?在1.4版本以前的JDK,当使用“java 类名”命令来运行Java程序时,计算机根据CLASSPATH搜寻Java类。

1.4以前的版本,常常需要设置CLASSPATH环境变量的值为 .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (其中JAVA_HOME环境变量应指向JDK的安装目录)

后来的JRE会自动搜索当前路径下的类文件,自动加载dt.jar和tools.jar文件中的Java类,不需要设置CLASSPATH环境变量。一旦设置了该环境变量,JRE将只按照环境变量的设置来搜索Java类,所以环境变量一定要设置正确。

如果想在运行Java时临时指定JRE搜索Java类的路径,可以使用 -classpath 选项,Linux上用冒号(:)隔开

java -classpath dir1;dir2,...;dirN  Java类

或者

java -classpath %CLASSPATH%;.;dir1;dir2,...;dirN  Java类

PATH环境变量和CLASSPATH环境变量详解的更多相关文章

  1. Linux centos7环境下安装JDK的步骤详解

    Linux centos7环境下安装JDK的步骤详解 测试root用户下JAVA版本 输入命令:   java –version 1.先到Oracle官网里下载好jdk,网址如下: http://ww ...

  2. unity3d-配置Android环境,打包发布Apk流程详解

    31:unity3d-配置Android环境,打包发布Apk流程详解 作者 阿西纳尼 关注 2016.08.28 22:52 字数 498 阅读 1806评论 0喜欢 5 Unity配置Android ...

  3. Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  4. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  5. Java基础-变量的定义以及作用域详解

    Java基础-变量的定义以及作用域详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.字面量 常量(字面量)表示不能改变的数值(程序中直接出现的值).字面量有时也称为直接量,包 ...

  6. C#环境变量配置及csc命令详解(转自cy88310)

     C#环境变量设置步骤: 在桌面右击[我的电脑]->[属性]->[高级]->[环境变量] 在下面的系统变量栏点击"新建" 变量名输入"csc" ...

  7. Jdk在window环境下的安装与配置详解

    本文为博主原创,转载请注明出处: 1.2  Java程序开发环境的配置 java开发工具包:java开发工具:记事本 IDE,这个只能写小程序,写大程序需要集成开发工具:反编译工具(我们可以在网上找一 ...

  8. c#(winform)环境下使用动态链接库dll的详解

    1,什么是dll文件? DLL(Dynamic Link Library)文件为动态链接库文件,又称“应用程序拓展”,是软件文件类型.在Windows中,许多应用程序并不是一个完整的可执行文件,它们被 ...

  9. JavaScript 变量、作用域及内存详解

    基本类型值有:undefined,NUll,Boolean,Number和String,这些类型分别在内存中占有固定的大小空间,他们的值保存在栈空间,我们通过按值来访问的. (1)值类型:数值.布尔值 ...

随机推荐

  1. NFC Forum : Frequently Asked Questions (NFC 论坛:FAQ)

    NFC for Business What is the NFC Forum? The NFC Forum is a not-for-profit industry organization whos ...

  2. Mybatis 中常用的java类型与jdbc类型

    JDBC Type Java Type CHAR String VARCHAR String LONGVARCHAR String NUMERIC java.math.BigDecimal DECIM ...

  3. 'mysql.column_stats' doesn't exist and Table 'mysql.index_stats' doesn't exist

    在生产库MariabDB中修改字段类型,提示如下错误:​Table 'mysql.column_stats' doesn't existTable 'mysql.index_stats' doesn' ...

  4. C++ STL vector 内存分配

    vector为了支持快速的随机访问,vector容器的元素以连续方式存放,每一个元素都紧挨着前一个元素存储. 当vector添加一个元素时,为了满足连续存放这个特性,都需要重新分配空间.拷贝元素.撤销 ...

  5. hdu 5210 Delete

    原题链接:http://acm.hdu.edu.cn/showproblem.php?pid=5210 简单题如下: #include<algorithm> #include<ios ...

  6. IOS中 如何去除Tabview里面cell之间的下划线

    可以利用Tabview的separatorStyle属性来设置,选择其中的UITableViewCellSeparatorStyleNone 即可去除cell之间的下划线 self.tableView ...

  7. iOS学习之基础控件

    一.UILabel      1.UILabel(标签):是显示文本的空间.在App中UILabel是出现频率最高的控件.      2.UILabel是UIView的子类,作为子类一般是为了扩充父类 ...

  8. ExtJS 提示

    要使ExtJS支持提示,需要在onReady的function中添加如下语句: Ext.QuickTips.init();//支持tips提示 Ext.form.Field.prototype.msg ...

  9. Python MYSQL - tiny ETL tool - 文件操作和数据库操作

    import os import MySQLdb Con= MySQLdb.connect(host=',db='test') #链接数据库 cur=Con.cursor() os.chdir(&qu ...

  10. pb中sql语句用to_char查询出来数据,居然无法检索出数据,oracle数据库,这是什么原因?

    /*这样dw_modified总是无法检索出正确的结果*/ ') into :is_recoder_old_sn from emra03 where szybh01 = :as_pat_id and ...