你的类是有包语句的,那么执行的时候就必须带着包名:java a1.b1.c1.PakageDemo
如果你的classpath=xxx\a1\b1\c1,结尾没有带分号或者开头没有带“.”,则虚拟机启动后不会再当前路径下找class文件。
这时你执行java a1.b1.c1.PakageDemo肯定会出错,这句代码实际上虚拟机是去xxx\a1\b1\c1\a1\b1\c1这样的路径中找class文件。显然不存在这样的路径。所以执行出错。
如果你在xxx\a1\b1\c1下面建立的目录结构如下:xxx\a1\b1\c1\a1\b1\c1,然后把你的类:xxx\a1\b1\c1\PackageDemo.class文件放到xxx\a1\b1\c1\a1\b1\c1下面,在执行java a1.b1.c1.PakageDemo语句的时候就不会错误了。
总结:你的路径没有理解正确。解决方法就是设置classpath=.;xxx\a1\b1\c1或者classpath=xxx\a1\b1\c1;这样就能解决问题。 |