最近在配置jdk的时候,顺便配置了jdk的环境变量,即是在命令行状态可以使用javac和java命令,以前只知道按照书上的或者网上的进行配置,然后去使用它,从来没有想过它为什么要这样子配置。今天,在看java基础的时候终于明白,原来在命令行状态下,输入的指令是先在当前的目录下查找该命令,在查不到的情况下再在path中进行查找,以找到的第一个该命令为主。所以在path中会有C:\WINDOWS\system32等这样的配置,只是因为system32中包含了很多dos命令所需要的可执行文件,同理java也是一样,找到jdk中找到javac的位置,由于在jdk中javac和java的位置是一样的,所以只需找到路径C:\Program Files\Java\jdk1.6.0_10\bin,将其添加到path中即可。添加有两种方式,一是在我的电脑-->属性-->高级-->环境变量,在系统变量的path中添加该路径,以便寻址之用。其次,可以在命令行窗口下进行路径的追加,同样有两种方式:一时粘贴路径,然后分号之后追加,二是用%path%代表以前的,于是成为了"C:\>set path=%path%;C:\Program Files\Java\jdk1.6.0_10\bin",这样子就差不多可以进行java程序的开发了。classpath设置的作用是执行java *的时候直接到classpath的路径中去寻找相应的class文件进行执行,而不会在当前的目录下进行查找了,所以应当谨慎使用!classpath=的右边不能出现空格或者中文字符,即使是对于Document Setting这类在Windows下合法的文件夹(换另外的文件夹来解决),正确的设置是:classpath=.;或者不用进行设置。
再讲一下今天对用户变量和系统变量的理解,当一个用户如Admin登陆时,在命令行下可以执行的可执行文件的path的值为Admin用户变量和系统变量的值,当另一个用户Guest登陆时,在命令行下可以执行的可执行文件的path值为Guest用户变量和系统变量的值!即是:系统变量针对所有的用户,而用户变量只是针对某一特定的当前登陆的用户。
Write by
李世荣
2011-6-11