这两天心血来潮,写了一个简单HelloWorld
编译。。。。。。嗯,没问题
运行:java 类名。。。。。。嗯?Exception in thread "main" java.lang.NoClassDefFoundError:XXX
怎么回事???,猜测是classpath的问题,于是在控制台继续输入: java -classpath .(注意有个点) 类名
好了,这下能运行了,可是前几天没有这毛病啊。
无意中打开系统属性--》高级--》环境变量,发现有个classpath,
值是C:\Program Files\Altova\xmlspy\XMLSpyInterface.jar,这是我装weblogic时自动添加的
会不会是这个的问题呢,把它删掉,再在控制台下运行java 类名 ,可以运行了!!!
原来虚拟机在装载一个类时,如果没有指定classpath,就会在当前路径下查找,但是
如果指定了classpath,就会在classpath下查找,忽略系统当前路径,所有直接java 类名当然就找不到了!!!
解决:
1、在环境变量里删除classpath
2、运行时指定classpath如java -class 路径 类名

