这是java初学者的经典错误,我也不例外的遇到。而且花了一点点时间才弄清楚。
需要设置CLASSPATH,把JDK中的lib子目录,以及其下的tools.jar设置到CLASSPATH中,才可以在运行java程序时加载。
在沒有做任何设定之下 ,预设的CLASSPATH就是一个 .
這個 . 代表 命令提示字元的当前目录
沒设定比设定错误还好一点点(对新手而言) , 只要 .class 在当前目录, 你还是可以执行程序
但是你若下了设定
SET CLASSPATH=C:/j2sdk1.4.1_03/lib;C:/j2sdk1.4.1_03/lib/tools.jar;
少了這个 . 若你当前的目录却不是 C:/j2sdk1.4.1_03/lib , 就会发生NoClassDefFoundError
正却的设定
SET CLASSPATH=.;C:/j2sdk1.4.1_03/lib;C:/j2sdk1.4.1_03/lib/tools.jar;
表示当前的目录 , C:/j2sdk1.4.1_03/lib/ , 以及 tools.jar 內的class都可以载入