1.Windows操作系统根据Path环境变量来查找命令,Linux操作系统则根据PATH环境变量来查找命令

因为Windows操作系统不区分大小写,设置Path和PATH并没有区别,而Linux系统是区分大小写的设置Path和PATH是有区别的,因此我们只需要设置PATH变量即可

2.CLASSPATH环境变量定位类:

1.       JDK 1.5以上的版本完全可以不用设置CLASSPATH环境变量

2.       1.4以前的JDK版本需要在CLASSPATH环境变量中添加一点(.)用以告诉JRE需要在当前路径下搜索java类

3.       编译和运行java程序还需要JDK的lib路径的dt.jar和tools.jar文件里的java 类,因此还需要把这两个文件添加到CLASSPATH环境变量里

因此如果使用JDK1.4以前的版本来编译和运行java程序,需要设置CLASSPATH环境变量的值为:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(JAVA_HOEM是JDK的安装路径)

4.       后来Sun改进了JDK的设计,JRE会自动搜索当前路径下的类文件,而且使用java的编译和运行工具时,统可系以自动加载dt.jar和tools.jar文件中的java类,因此不需要设置CLASSPATH环境变量

5.       即使使用JDK1.5以上的版本,也可以设置CLASSPATH环境变量,一旦设置了该变量,JRE将会按环境变量指定的路径来搜索java类,这意味着如果CLASSPATH环境变量中不包括(.)也就是没有包含当前路径 ,JRE不会在当前路径下搜索java类

6.       运行程序时,临时制指定JRE搜索java类路径,可以使用-classpath选型

Java –classpath dir1;dir2;dir3….;dirN java类

如果我们在运行java程序时,指定了-calsspath选型的值,JRE严格按-calsspath选项里的路径来搜索java类,既不会在当前路径搜索java类,CLASSPATH环境变量所指定的搜索路径也不再有效。

如果想CLASSPATH环境变量指定的路径有效,而且还会在当前路径搜索java类:

Java –classpath %CLASSPATH% ;.;dir1;dir2;dir3;dirN java类

上面命令通过%CLASSPATH%来引用了CLASSPATH环境变量的值,并在-calsspath选项路的值里添加了一点,强制JRE在当前路径搜索java类

classpath这个环境变量在设置的时候,应该写成大写还是写成小写呢?

这个问题在linux下没有疑问,因为linux下的环境变量约定都是大写的,而且linux下环境变量是区分大小写的,所以在linux下应该写成大写的。

但是这个问题在windows下是有区别的。因为windows下的环境变量不区分大小写,所以原则上写成大写或者小写都可以。一般情况下设置的时候还是推荐设置成大写的,原因是其他的软件比如ant、tomcat等是要求CLASSPATH为大写的,所以为了将来和这些软件良好的配合,最好还是写成大写的。

windows下的设置很简单。

右键“计算机”->属性->高级系统设置->系统属性对话框->高级选项卡->环境变量,在调出的环境变量对话框中有两种环境变量:1、用户变量,2、系统变量。同一个环境变量既可以在用户变量中设置也可以在系统变量中设置,比如Path环境变量。这两者的区别是,系统环境变量对系统中的每一个用户都有效,而用户环境变量只对当前用户有效。

具体来说就是在读取环境变量的时候,如果用户变量和系统变量中同时设置了同一个变量,则先读取在系统变量中设置的内容,然后再读取用户变量中设置的内容。

主要说一下linux下的设置。

linux下环境变量设置有两个地方。一个是在/etc/profile文件中,这个文件中设置的环境变量是系统级别的,相当于windows中的系统变量;另一个地方是~/.bash_profile,这个文件中设置的环境变量是用户级别的,相当于windows中的用户变量。

同一个变量在/etc/profile和~/.bash_profile中同时设置时,当echo  $variableName的时候先读取/etc/profile中的值然后读取~/.bash_profile中的值,最后组合成最终的输出。

java环境变量 Path 与CLASSPATH的更多相关文章

  1. Java环境变量PATH和CLASSPATH

    Java开发中常用到环境变量的配置,下面简单介绍下Java中经常配置的环境变量:PATH和CLASSPATH. 1.PATH环境变量 1.1 作用简介 安装完JDK(Java Development ...

  2. Java入门:Java环境变量PATH、CLASSPATH、JAVA_HOME

    一些初学者在用java HelloWorld指令运行程序的时候出现: Exception in thread "main" java.lang.NoClassDefFoundErr ...

  3. [转]JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

    [转] JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 - dreamman的日志 - 网易博客http://blog.163.com/dreamman_yx/blog/st ...

  4. JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解

    Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH.下面逐个分析. JAVA_HOME 指向的是JDK的安装路径,如C:\jdk1.5.0_06,在这路 ...

  5. Java中环境变量PATH与CLASSPATH的区别

    在安装JDK时需要添加环境变量,经常使用的环境变量有两个: PATH与CLASSPATH 下面总结一下环境变量的作用. PATH是系统用来指定可执行文件的完整路径.当在CMD中执行命令时,如果执行的可 ...

  6. WINDOWS系统下环境变量PATH和CLASSPATH的意思

    1 PATH 对于没有包含路径的命令,WINDOWS系统会默认去Windows 目录(C:\windows)和系统目录(C:\windows\system32)查找,如果没有找到,就去PATH变量内包 ...

  7. Java 环境变量设置 -- JAVA_HOME CLASSPATH

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

  8. Windows 下java环境变量的配置(Windows7 ,8,8.1,10)

    Windows 下java环境变量的配置 在“系统”面板的左上角选择“高级系统设置”,在弹出的系统属性中选择”高级“项,然后点击右下角的“环境变量(N)...”,就此进入JAVA环境变量的配置. 如果 ...

  9. JAVA环境变量配置详解

    JAVA环境变量JAVA_HOME.CLASSPATH.PATH设置详解 Windows下JAVA用到的环境变量主要有3个,JAVA_HOME.CLASSPATH.PATH. JAVA_HOME 指向 ...

随机推荐

  1. 雷林鹏分享:Ruby 判断

    Ruby 判断 Ruby 提供了其他现代语言中很常见的条件结构.在这里,我们将解释所有的条件语句和 Ruby 中可用的修饰符. Ruby if...else 语句 语法 if conditional ...

  2. 20170711xlVBA自定义分类汇总一例

    Public Sub CustomSubTotal() AppSettings On Error GoTo ErrHandler Dim StartTime, UsedTime As Variant ...

  3. mac 地址

  4. linux 查找

    linux下的查找命令有很多,常用的有which.whereis.locate.find.平时在网上搜索一些教程的时候,经常会有让使用这四条命令中的一条去查找一些东西,但是经常这次说用which,下次 ...

  5. hdu-4023-博弈(模拟)

    Game Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others)Total Submis ...

  6. Linux系统中切换用户身份su与sudo的用法与实例

    日常操作中为了避免一些误操作,更加安全地管理系统,通常使用的用户身份都为普通用户,而非root.当需要执行一些管理员命令操作时,再切换成root用户身份去执行. 普通用户切换到root用户的方式有:s ...

  7. quartz---springmvc的配置文件正合

    quartz---springmvc的配置文件正合 XML <beans xmlns="http://www.springframework.org/schema/beans" ...

  8. VAE demo

    先看tflearn 官方的: from __future__ import division, print_function, absolute_import import numpy as np i ...

  9. JavaScript学习总结(九)——Javascript面向(基于)对象编程

    一.澄清概念 1.JS中"基于对象=面向对象" 2.JS中没有类(Class),但是它取了一个新的名字叫“原型对象”,因此"类=原型对象" 二.类(原型对象)和 ...

  10. PHP:第三章——PHP中的回调函数

    <?php header("Content-Type:text/html;charset=utf-8"); //回调函数 //计算两个数只和 function Add($a, ...