1.4 系统环境变量

在计算机操作系统中可以定义一系列变量,这些变量可供操作系统上所有的应用程序使用,被称作系统环境变量。在学习Java的过程中,需要涉及两个系统环境变量path和classpath,接下来分别对它们进行讲解。

path环境变量

path环境变量是系统环境变量中的一种,它用于保存一系列的路径,每个路径之间以分号分隔。当在命令行窗口运行一个可执行文件时,操作系统首先会在当前目录下查找是否存在该文件,如果不存在会继续在path环境变量中定义的路径下寻找这个文件,如果仍未找到,系统会报错。例如,在命令行窗口输入“javac”命令,并按下回车,会看到错误提示。如下图所示:
1.4 系统环境变量_第1张图片
从上图的错误提示可以看出系统没有找到javac命令。在命令行窗口输入“set path”命令,可以查看当前系统的path环境变量,如下图所示:
1.4 系统环境变量_第2张图片
从上图中列出的path环境变量可以看出,其中并没有包含“javac”命令所在的目录,因此操作系统找不到该命令。为了解决这个问题,需要在命令行窗口输入一行命令,将“javac”命令所在的目录添加至path环境变量。命令如下所示:

set path=%path%;C:\Program Files\Java\jdk1.7.0_60\bin;

其中,“%path%”表示引用原有的path环境变量,“C:\Program Files\Java\jdk1.7.0_60\bin” 表示javac命令所在的目录。整行命令的作用就是在原有的path环境变量值中添加javac命令所在的目录。
再次输入“set path”命令查看path环境变量,结果如下图所示:
1.4 系统环境变量_第3张图片
设置完path环境变量后,再次运行“javac”命令,找不到javac.exe命令的错误情况就不会再出现了,命令行中会显示“javac”命令的帮助信息,如下图所示:
1.4 系统环境变量_第4张图片
由于“java”命令和“javac”命令位于同一个目录中,因此在配置完path环境变量后,同样可以在任意的路径下执行“java”命令。
重新打开一个新的命令行窗口,再次运行javac命令,又会出现找不到javac.exe命令错误,使用“set path”命令查看环境变量,会发现之前的设置无效了。出现这种现象的原因在于,在命令窗口中,对环境变量进行任何修改只对当前窗口有效,一旦关闭窗口,所有的设置都会失效。因此,要想让环境变量永久生效,就需要在系统中对环境变量进行配置。让Windows系统永久性地记住所配置的环境变量。配置系统环境变量步骤如下:

1、查看Windows系统属性中的环境变量
右键单击桌面上的【计算机】,从下拉菜单中选择【属性】,在出现的【系统】窗口中选择左边的【高级系统设置】选项,然后在【高级】窗口中单击【环境变量】按钮,打开【环境变量】窗口,如下图所示:
1.4 系统环境变量_第5张图片
2、设置path系统环境变量

在【环境变量】窗口中的【系统变量】区域选中名为“Path”的系统变量,单击【编辑】按钮,打开【编辑系统变量】窗口,如下图所示:
1.4 系统环境变量_第6张图片
在【变量值】文本区域内开始处添加“javac”命令所在的目录“C:\Program Files\Java\jdk1.7.0_60\bin”,末尾用英文半角分号(;)结束,与后面的路径隔开。如下图所示:
1.4 系统环境变量_第7张图片
添加完成后,依次单击打开窗口的【确定】按钮,完成设置。

3、查看和验证设置的path系统环境变量

打开命令行窗口,执行“set path”命令,查看设置后的path变量的变量值,如下图所示:
1.4 系统环境变量_第8张图片
从上图中环境变量path值的第一行中,已经显示出来配置路径信息。在命令行窗口中执行javac命令,如果能正常地显示帮助信息,说明系统path环境变量配置成功,这样系统就永久性地记住了path环境变量的设置。

classpath环境变量

classpath环境变量也用于保存一系列路径,它和path环境变量的查看与配置的方式完全相同。当Java虚拟机需要运行一个类时,会在classpath环境变量中所定义的路径下寻找所需的class文件。
打开命令提示行窗口,进入C盘根目录下,然后执行“java HelloWorld”命令,运行之前编译好的Java程序,结果会报错,如下图所示:
1.4 系统环境变量_第9张图片
出现上图中所示错误的原因在于,Java虚拟机在运行程序时无法找到“HelloWorld.class”文件。为了解决这个错误,首先来通过“set classpath”命令查看当前classpath环境变量的值,如下图所示:
1.4 系统环境变量_第10张图片
从上图中可以看出,当前classpath环境变量没有设置,为了让Java虚拟机能找到所需的class文件,就需要对classpath环境变量进行设置,在命令行窗口输入下面的命令:

  set classpath=C:\Program Files\Java\jdk1.7.0_60\bin

再次执行“java HelloWorld”命令运行程序,会看到正确的结果,如下图所示:
1.4 系统环境变量_第11张图片
值得注意的是,在1.3小节中并没有对classpath环境变量进行设置,但在“C:\Program Files \Java\jdk1.7.0_60\bin”目录下仍然可以使用“java”命令正常运行程序,而没有出现无法找到“HelloWorld.class”文件的错误。这是因为从JDK5.0开始,如果classpath环境变量没有进行设置,Java虚拟机会自动将其设置为“.”,也就是当前目录。

上一篇:1.3 开发第一个Java程序
下一篇:1.5 Java的运行机制

你可能感兴趣的:(Java基础,配置系统环境变量,set,path,找不到或无法加载主类)