精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-11-09
最后修改:2010-09-21
现在公司的项目用的jdk是1.4版本的,近几日在本地机器上部署一直提示版本错误,一气之下,又重装了1.5的jdk,在测试时(写了一个简单的Test类),一直在报 Exception in thread "main" java.lang.NoClassDefFoundError:Test,然后开始查找问题,从classpath,path,JAVA_HOME,到cmd下的java -version,java,javac,java -classpath命令,都试过了,这些都很良好,还是找不到问题的根源,都快到崩溃的边缘啦。。。 到google上狂搜,一页一页挨着看,最后从一个http://topic.csdn.net/t/20060729/14/4913688.html上的一个解决方案上问题得到了解决,set classpath=.;java Test,在dos窗口下用这个命令java文件正确得到运行,现在想来,还是classpath的问题,在JVM加载类文件的时候,需要找到该类的定义,无法找到时,报 NoClassDefFound的错误。所以需要set一下classpath,^_^. 补充:还有一种方法是,在dos窗口中输入 D:\>java -classpath \ Test,也可让java程序正确执行。 附: NoClassDefFoundError 可以去吃早餐啦 哈哈 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-11-09
早期版本的java程序运行时,虚拟机不会在当前目录下寻找所需的class。只是在环境变量classpath中寻找。
在classpath中加上.,就是加上当前目录。 |
|
返回顶楼 | |
发表时间:2008-11-11
嗯,是的,在1.5版本上不会出现这样的问题,学习啦。
|
|
返回顶楼 | |
浏览 4191 次