当使用 “java HelloWord” 命令运行java程序时,JRE会在设置的CLASSPATH路径下搜索HelloWord.class 文件。

在1.4以前版本的JDK,需要在CLASSPATH环境变量中添加一点(.),用以告诉JRE在当前路径下搜索java类,除此之外,编译和运行java程序还需要 JDK 的lib路径下 dt.jar 和 tools.jar文件中的java类,因此还需要把这两个文件添加到CLASSPATH环境变量里。因此,如果使用1.4版本以前的JDK来编译和运行java程序,需要设置CLASSPATH环境变量的值为:

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

后来版本的JRE会自动搜索当前路径下的类文件,而且使用java的编译和运行工具时,系统可以自动加载 dt.jar 和 tools.jar 文件中的java类,因此不再需要设置CLASSPATH环境变量。
如果想在运行Java 程序时临时指定JRE搜索Java 类的路径,则可以使用 -classpath 选项,即按如下格式来运行java命令:

java -classpath dir1;dir2;dir3 .. . ; dirN Java类

-classpath选项的值可以是一系列的路径,多个路径之间在Windows平台上以分号(;)隔开, 在Linux 平台上则以冒号(:)隔开。

如果在运行Java 程序时指定了 -classpath 选项的值,JRE将严格按-classpath 选项所指定的路径来搜索 Java 类,既不会在当前路径下搜索Java 类,CLASSPATH 环境变量所指定的搜索路径也不再有效。

如果想使CLASSPATH环境变量指定的搜索路径有效,而且还会在当前路径下搜索Java 类,则可以按如下格式来运行Java 程序:

java -classpath %CLASSPATH%;.;dir1;dir2;dir3 ... ;dirN Java类