wanggongzhen 2020-01-10
以前学习过Java 的读者可能对 CLASSPATH 环境变量不陌生,几乎每一本介绍Java 入门的图书里
都会介绍 CLASSPATH 环境变量的设置,但对于 CLASSPATH 环境变量的作用则常常语焉不详。
实际上,如果使用1.5以上版本的JDK , 完全可以不用设置CLASSPATH 环境变量
那么CLASSPATH 环境变量的作用是什么呢?
当使用"java Java 类名"命令来运行Java 程序时,
JRE 到哪里去搜索Java 类呢?可能有读者会回答, 在当前路径下搜索啊。这个回答很聪明,但1. 4 以前
版本的JDK 都没有设计这个功能,这意味着即使当前路径己经包含了 HelloWorld.class , 并在当前路径
下执行"java Hello World ",系统将一样提示找不到HelloWorld 类。
如果使用1.4 以前版本的JDK,则需要在CLASSPATH 环境变量中添加点 (.) ,用以告诉JRE 需要
在当前路径下搜索Java 类。
除此之外, 编译和运行Java 程序还需要JDK 的lib 路径下 dt.jar 和 tools.jar 文件中的 Java 类, 因此
还需要把这两个文件添加到CLASSPATH 环境变量里。
提示:JDK9 的 lib 目录已经不再包含 dt.jar 和 tools .jar 文件。
因此, 如果使用1.4 以前版本的JDK 来编译和运行Java 程序,常常需要设置 CLASSPATH 环境变
量的值为.;%JAVA HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar (其中%JAVA HOME%代表JDK 的安
装目录) 。
提示:只有使用早期版本的 JDK 时, 才需要设置 CLASSPATH 环境变量。
当然,即使使用JDK l. 5 以上版本的JDK ,也可以设置CLASSPATH 环境变量(通常用于加载第三
方类库) , 一旦设置了该环境变量, JRE 将会按该环境变量指定的路径来搜索Java 类。这意味着如果
CLASSPATH 环境变量中不包括点(.) ,也就是没有包含当前路径, JRE 不会在当前路径下搜索Java 类。
如果想在运行Java 程序时临时指定JRE 搜索Java 类的路径,则可以使用classpath 选项(或用-cp
选项, -cp 是简写,作用完全相同),即按如下格式来运行Java 命令:
java - classpath dirl;dir2;dir3 .. .; dirN Java 类
-classpath 选项的值可以是一系列的路径,多个路径之间在Windows 平台上以分号(;) 隔开,在
Linux 平台上则以冒号(:) 隔开。
如果在运行Java 程序时指定了-classpath 选项的值, JRE 将严格按-classpath 选项所指定的路径来搜
索Java 类,即不会在当前路径下搜索Java 类, CLASSPATH 环境变量所指定的搜索路径也不再有效。
如果想使CLASSPATH 环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java 类,则可
以按如下格式来运行Java 程序:
java - classpath %CLASSPATH % ; .; dirl ; dir2 ; dir3.. .;dirN Java 类
上面命令通过%CLASSPATH%来引用CLASSPATH 环境变量的值,并在-classpath 选项的值里添加
了一个点,强制JRE在当前路径下搜索Java 类。
5.环境变量配置在linux系统下,需要将可执行文件配置到环境变量或将文件移动到属于环境变量的目录里面方法一:将文件移动到属于环境变量目录中sudo mv chromedriver /user/bin
写脚本涉及到数据库的配置信息,然后上面要求这种关键信息不能体现到脚本中,哦,那怎么办,那我去哪里读取数据库信息呢?从运行脚本的机器的环境变量里读取数据库信息,这样脚本中全是代码,就没有明文配置信息了。