为什么无论我怎么做,还是“Exception in thread "main" java.lang.NoClassDefFoundError”?

zanchao 2003-08-22 05:29:05
TMD,我已经set classpath=j2sdk1.4.1_02\lib拉,还是不行还有什么javahome,path都设置拉,还是不行。大家快帮帮忙。我的文件是D:\HelloWord.java.里面是最简单的HelloWorld程序,内容是
class HelloWorld {
public static void main(String[] args) {
// Display "Hello World!"
System.out.println("Hello World!");
}
}
jdk装在c:\j2sdk1.4.1_02上
运行如下:
c:\j2sdk1.4.1_02\bin\javac d:\HelloWorld.java
编译通过
跟着:
c:\j2sdk1.4.1_02\bin\java d:\HelloWorld
出现错误:Exception in thread "main" java.lang.NoClassDefFoundError
究竟为什么?
...全文
52 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ww203 2003-09-09
  • 打赏
  • 举报
回复
我认为:
1、如果是Win系统的话,请检查一下系统目录下是否有java.exe和javaw.exe文件,如果有,请检查是否Path的最前面是指向Win系统的路径,然后才是jdk的路径?
2、直接到Win系统目录下运行java -version看版本是多少,然后到jdk目录下运行看版本是多少?
3、检查注册表,看上述所检查到的java版本号与注册表当中的当前的JRE版本号所指的路径是不是一样的?
一般:JDK1.2的JRE会安装在:X:\Program Files\JavaSoft\JRE\1.2下
而:1.3以上的会安装在:D:\Program Files\Java\j2re1.X.X\bin下面
你检查一下到底运行了哪个的java.exe文件,又到底运行了哪个的javac.exe文件,实在不行把这些目录下有存在的java.exe与javac.exe文件进行一个一个的排查,应当可以知道的。
4、将path去除,即path;一下,然后就仅在你的目录下输入X:\jdk\bin\java YourCalssName,看是否有结果,然后再做检查
5、真是比较麻烦吗?我想不会的吧,呵呵,就这几个地方,一对比一下就可以解决问题的,特别要注意系统目录下的java.exe与javac.exe这两个文件。
felic 2003-08-26
  • 打赏
  • 举报
回复
在系统的环境变量中加一个: .;
或者在cmd中输入set classpath=%classpath%;.;
junnef 2003-08-26
  • 打赏
  • 举报
回复
在你的classpath中最开始加上".;"包含当前目录,然后在你的类所在目录运行,如果打包了的话,在包含包的目录中运行,即包的根目录的父目录中。
freejacky 2003-08-26
  • 打赏
  • 举报
回复
set classpath=.
liad 2003-08-26
  • 打赏
  • 举报
回复
cd /d d:\
java HelloWorld
inprise_lyj 2003-08-26
  • 打赏
  • 举报
回复
在class HelloWorld {前加public

public class HelloWorld {
public static void main(String[] args){
...
}

}
idilent 2003-08-26
  • 打赏
  • 举报
回复
java HelloWorld如果你的classpath已经设置好了的话。也就在系统变量中设置
classpath = "d:\"

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧