classpath和环境变量设置

来源:互联网 发布:会喷火的无人机淘宝 编辑:程序博客网 时间:2024/05/21 01:54

  这篇文章希望能够帮助初学者正确理解和设置系统环境变量和classpath环境变量,

使你能够很快的在你的系统上设置好Java的环境,从而能够开发java应用程序。

        在没有设置环境变量之前,我们可以通过直接在应用程序中加带相关信息来运行我们

的程序。比如,我们可以这样开始运行一个java程序:

    C:/jdk1.3.1/bin/java -jar C:/windows/desktop/myfiles/SimpleColorConverter.jar


         这样肯定没有错误,每次我们不得不敲上java应用程序的全路径和class文件的全路径,我们

写一次没问题,两次不觉得长,三次也不觉得累,可是假如我们每次都要重复的敲上这一堆路径的话,

那真的将会是一场噩梦。那么,我们怎么做才能够减轻我们的输入量呢?


一、简介:

        环境变量是操作系统、应用程序、脚本程序等等的指明灯,能够告诉他们需要的资源在哪里。大多数的

系统都有一些预先设置好的环境变量,当然,我们也可以增加自己的环境变量。

    为了看看当前系统的环境变量,我们可以用如下的命令:

    在Linux/Unix系统上,在shell命令符输入 env ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set ,然后回车

    这样,我们就可以看到系统当中的所有环境变量,假如我们想看看单个变量的值呢?

    在Linux/Unix系统上,在shell命令符输入 echo $变量名 ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set 变量 或者 echo %变量%,然后回车

    假如要设置一个环境变量,可以用下面的命令:

    在Linux/Unix系统上,在shell命令符输入 eXPort 变量名="变量值" ,然后回车

    在Windows系统中,在DOS窗口提示符输入 set 变量名="变量值" ,然后回车

    这样,就设置好了。path和classpath环境变量的值都是一些有顺序的目录列表。告诉系统或者应用程序

到哪里去寻找它们需要的资源。这个目录列表是由一系列的分隔符分开的,Linux/Unix系统下分隔符是冒号“:”

windows系统中是分号“;”。假如,我们想在某个已经存在的环境变量值下加一些自己的值的话,可以这样:

    Linux/Unix系统下: export CLASSPATH=$CLASSPATH:/path/to/program

    Windows系统下: set CLASSPATH = %CLASSPATH%;c:/path/to/program


二、设置Java环境

       要想方便的开发和运行Java应用程序,我们需要设置两个环境变量,一个path一个classpath。

       设置好path变量,使得我们能够在系统中的任何地方运行java应用程序,比如javac、java、javah等等

这就要找到我们安装JDK的目录,比如我们的JDK安装在c:/jdk1.3/目录下,那么在c:/jdk1.3/bin目录

下就是我们常用的java应用程序,我们就需要把c:/jdk1.3/bin这个目录加到path环境变量里面。

    classpath环境变量,是当我们在开发java程序时需要引用别人写好的类时,要让java解释器知道到哪里

去找这个类。通常,sun为我们提供了一些额外的丰富的类包,一个是dt.jar,一个是tools.jar,这两个jar包

都位于c:/jdk1.3/lib目录下,所以通常我们都会把这两个jar包加到我们的classpath环境变量中

set classpath=.;c:/jdk1.3/lib/tools.jar;c:/jdk1.3/lib/dt.jar。 注重对于jar包,在classpath中

需要跟上完整地文件路径,而不能仅仅跟一个目录。第一个路径的点“.”,代表当前目录,这样当我们运行java AClass

的时候,系统就会先在当前目录寻找AClass文件了。

Windows下JAVA用到的环境变量主要有3个,JAVA_HOME、CLASSPATH、PATH。

JAVA_HOME指向的是JDK的安装路径,如C:/JDK_1.4.2,在这路径下你应该能够找到bin、lib等目录。值得一提的是,JDK的安装路径可以选择任意磁盘目录,不过建议你放的目录层次浅一点,如果你放的目录很深,比如C:/XXXXXX/xxxxx/XXXX/xxxx/XXXX/xxxx/XXXX/xxx……

设置方法:

JAVA_HOME=C:/JDK_1.4.2

PATH环境变量原来Windows里面就有,你只需修改一下,使他指向JDK的bin目录,这样你在控制台下面编译、执行程序时就不需要再键入一大串路径了。设置方法是保留原来的PATH的内容,并在其中加上%JAVA_HOME%/bin (注,如果你对DOS批处理不了解,你可能不明白%%引起来的内容是什么意思;其实这里是引用上一步设定好的环境变量JAVA_HOME,你写成C:/JDK_1.4.2也是可以的;你可以打开一个控制台窗口,输入echo %JAVA_HOME%来看一下你的设置结果) :

PATH=%JAVA_HOME%/bin;%PATH%

同样,%PATH%是引用以前你设置的PATH环境变量,你照抄以前的值就行了。

CLASSPATH环境变量我放在最后面,是因为以后你出现的莫名其妙的怪问题80%以上都可能是由于CLASSPATH设置不对引起的,所以要加倍小心才行。

CLASSPATH=.;%JAVA_HOME%/lib/tools.jar

首先要注意的是最前面的".;",如果你看不清,我给你念念——句点分号。这个是告诉JDK,搜索CLASS时先查找当前目录的CLASS文件——为什么这样搞,这是由于LINUX的安全机制引起的,LINUX用户很明白,WINDOWS用户就很难理解(因为WINDOWS默认的搜索顺序是先搜索当前目录的,再搜索系统目录的,再搜索PATH环境变量设定的) ,所以如果喜欢盘根究底的朋友不妨研究一下LINUX。

为什么CLASSPATH后面指定了tools.jar这个具体文件?不指定行不行?显然不行,行的话我还能这么罗索嘛!:) 这个是由java语言的import机制和jar机制决定的,你可以查资料解决。

具体的设定方法: win2k/xp用户右键点击我的电脑->属性->高级->环境变量,修改下面系统变量那个框里的值就行了。

win9x用户修改autoexec.bat文件,在其末尾加入:

set JAVA_HOME=C:/JDK_1.4.2

set PATH=%JAVA_HOME%/bin;%PATH%

set CLASSPATH=.;%JAVA_HOME%/lib/tools.jar



就可以了。
原创粉丝点击