这段话摘抄自:李刚的《疯狂Java讲义》第二版中的话P14页:
如果在JDK 的版本大于等于1.5可以完全不用设置CLASSPATH环境变量——即使不设置环境变量也可以正常运行Java程序。
当使用 “java Java类名”命令来运行Java程序是 JRE到哪里去搜索Java类?
就是在生成.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
其中JAVA_HOME环境变量应指向JDK的安装目录。
后来的JRE会自动搜索当前路径下的类文件,而且使用Java的编译和运行工具时,系统可以自动加载dt.jar和tools.jar文件中的java类,因此不再需要设置CLASSPATH环境变量。
在JDK1.5以上是不需要设置CLASSPATH环境变量的。如果前面没有点就以为着不会从当前路径进行搜索。