网上都说了很多有关classpath问题的情况,这里就不说了.
说一下其他情况:
1.编译成功,运行失败,
Exception in thread "main" java.lang.NoClassDefFoundError:
这种情况是你可以看下是不是该类用了package, 例如 package test.TestJava
其中...src\test\TestJava.java这样的目录,你可以退回到src目录中再重新运行,其中运行的时候记得加上包名,并且分隔符是点号例如
..\src> java test.TestJava
这样的话运行就可能成功,
可能的错误情况:
1.没有加包名,这样的话因为java解释器是根据当前目录(如果添加了.; 的classpath)开始为根目录然后再想后找的.你想一下如果你用了package
那么对于解释器只会认为这个类在...src\test\test\TestJava.java中,
但是如果你退回到上个目录,那么就会根据你当前目录来判定,这样就正确了.
2.classpath等配置错误:网上大把自己加
3...\src> java test\TestJava吧点号变成斜杠.因为是用解释器所以要用点的形式不是斜杠文件形式
可能还有其他情况,不过我遇到的就是这种情况,其实在Thinking In Java中的第五章有讲Java解释器的路径查找情况