set classpath=.;c:\;d:\ 这句中有一个点号"." ,他会先找当前盘,如果当前盘在 E 时,这时就会与你的第二种set classpath=c:\;d:\;有区别了...就会执行 E盘,E盘没有就找c盘,C盘没有再找D盘,D盘没有就找了.
set classpath=c:\;d:\; 这句呢,无论当前盘在哪里,他只会先找C盘,C盘没有,就找D盘,因为这句有个分号";",,,这分号的意思是::::::::d盘没有它还会找其它盘的.
PS:在以后开发中,一般不加分号,因为电脑中同一类名文件可能会很多,一般执行时都会指定文件执行,所以当指定文件有问题时,它会执行其它非指定文件,这样就会得出不是自己要的结果.
set classpath=.;c:\;d:\和set classpath=c:\;d:\;
这两种查询方式是有区别的:
A:set classpath=.;c:\;d:\ 这样的配置方式是先在当前路径下查找(因为“.”点代表当前路径)字节码(.class)文件;如果没有找到,则会查找C盘目录;如果前面的目录下都没有找到,则会在D盘目录下查找;如果查找完前面指定的路径,还没有找到相应的字节码文件,则报未找到文件的异常。
B: set classpath=c:\;d:\; 这样的配置方式是先再C盘目录下查找字节码(.class)文件;如果没有找到,则会查找D盘目录;如果在C、D盘目录下没有找到字节码文件,则会在当前目录下查找(因为在结尾处加了“;”分号);如果查找完前面指定的路径,还没有找到相应的字节码文件,则报未找到文件的异常。