- Java编程从入门到精通
- 胡平 刘涛主编
- 1738字
- 2025-04-02 16:03:08
1.4.4 配置环境变量
从JDK 5开始,安装程序会自动将JDK的有关信息写入操作系统(如Windows的注册表),特别是采用了IDE[6]后,配置环境变量已不再是必须的操作。尽管如此,初学者仍需理解JDK环境变量配置的目的及具体方法。很多Java程序,特别是那些用到了第三方类库的程序能否成功运行往往与环境变量有着密切的关系。在讲解环境变量的配置之前,有必要先知道环境变量的作用是什么,下面通过一个试验来说明。
打开命令窗口(Win + R → 输入cmd并回车),其当前工作路径(“>”左侧的路径)为C:\Users\xxx,这是命令行窗口被打开时的默认工作路径,其中的xxx是系统当前登录的用户名。接着,在命令行窗口输入calc(Windows自带的计算器程序,对应文件为C:\WINDOWS\System32\calc.exe)并回车,如图1-8所示。

图1-8 默认路径下输入calc
不难发现,尽管路径C:\Users\xxx下并没有名为calc.exe的程序,但命令行仍然成功打开了计算器程序,这是为什么呢?现在打开环境变量对话框(Win + R → 输入sysdm.cpl并回车 → 高级 → 环境变量),在对话框下部的系统变量中找到名为Path的项并双击,弹出对话框如图1-9所示。

图1-9 Path环境变量
Path环境变量包含了多个路径,其中一个为“%SystemRoot%\System32 ”,此处的“%SystemRoot%”表示引用名为SystemRoot的环境变量的值,该变量在系统注册表中定义,其值为Windows的安装根目录——C:\Windows。因,此“%SystemRoot%\System32”等同于C:\Windows\System32,而这正是calc.exe所在的位置。
当在命令行窗口输入一个非内部命令并回车后,系统会依次在Path环境变量中指定的各个路径中寻找该命令(首先在当前工作路径下寻找),若找到则执行该命令,否则报错。
现在删除图1-9中的“%SystemRoot%\System32”[7],并单击两次确定直至回到系统属性对话框,然后重复之前图1-8所示的操作(注意要关闭并重新打开命令行窗口,否则无效)。如图1-10所示,尽管工作路径以及输入命令与之前一样,但由于此时已将calc.exe所在的路径从Path环境变量中删除,故而报错。

图1-10 默认路径下输入calc(修改了Path环境变量之后)
通过上述试验不难看出,将某个路径(假设为P)添加到Path环境变量的作用在于能够在命令行的任何工作路径下执行P路径下的程序,而不用先将工作路径切换到P。
JDK的配置涉及2个环境变量——Path和Classpath。
1. 配置Path
类似地,为了能够在命令行的任何工作路径下执行表1-4中的命令,需要将这些命令所在的bin目录的完整路径添加到Path环境变量中,如图1-11所示。

图1-11 在Path环境变量中添加bin目录的完整路径
说明:
(1)若Path环境变量不存在,可自行新建。
(2)添加的是“JDK安装目录\bin”而不是“JDK安装目录\jre\bin”。
(3)因路径较长,为避免出错,可通过对话框右侧的浏览按钮来选择bin目录。
(4)可以将bin路径添加到Path的任何位置。
单击两次确定并重新打开命令行窗口,输入“java -version”并回车,若配置成功则出现图1-12所示的界面,以后便可以在命令行的任何工作路径下执行bin下的工具命令。

图1-12 配置Path环境变量成功后的界面
2. 配置Classpath
在前述的环境变量对话框中单击下部的新建按钮,在弹出对话框的变量名中输入Classpath,在变量值中输入“. ; C:\Program Files\Java\jdk1.8.0_202\jre\lib\rt.jar”,如图1-13所示。

图1-13 新建Classpath环境变量
说明:
(1)因Windows不区分大小写,故写成Classpath、classpath或CLASSPATH均可,但要注意class与path之间没有空格。
(2)变量值开头的西文点号代表命令行的当前工作路径,其后的西文分号作分隔用。
(3)要一直指定到rt.jar,而不只是该文件所在的路径,这是初学者容易犯的错误之一。
(4)可以继续添加所需的其他路径或jar文件[8],彼此间以西文分号隔开即可。
(5)类似地,为避免出错,可通过对话框下侧的浏览目录或浏览文件按钮来选择所需的目录或jar文件。
关于Classpath环境变量的作用,将在1.5节中通过实例加以阐述。
[1]一些项目即便基于JDK 9或以上版本,但大多将项目编译级别降到了8甚至7,而未用到所安装JDK版本的任何新增特性。
[2]因网站更新,实际页面内容可能与本书所述不一致,后同。
[3]尽管可以为JDK指定任意的安装路径,但考虑到今后在命令行中切换路径方便起见,尽量不要指定过深的或含有中文字符的路径。
[4]可见,尽管从JDK 1.5起,官方开始将次版本号提升为主版本号。然而,即使到了JDK 8,JDK的默认安装目录依然沿用了JDK 1.4时代的命名风格。
[5]默认为C:\Program Files\Java\jre1.8.0_202。
[6]IDE(Integrated Development Environment,集成化开发环境)是指整合了编辑、管理、编译、运行、调试、发布等众多功能的软件开发工具。主流Java IDE包括Eclipse、MyEclipse、IDEA、NetBeans等。
[7]环境变量对话框上部的用户变量中可能也有名为Path的变量,该变量可能也包含C:\Windows\System32,为成功演示,请将该路径一并删除。
[8]可以是JDK中的jar文件,也可以是第三方框架或库的jar文件。