一个简单的java问题(80分)

  • 主题发起人 主题发起人 1383
  • 开始时间 开始时间
1

1383

Unregistered / Unconfirmed
GUEST, unregistred user!
jdk1.3已安装完毕,autoecex.bat中的path也设了,用记事本写了个“hello world”,也编译成功了,就是执行时出错了。
源文件如下:
public class Hello
{
public static void main (String args[])
{
System.out.println ("Hello World!");
}
}
执行如下:
java d:/java/hello
出错信息如下:
Exception in thread "main" java.lang.NoClassDefFounderror:d:/java/hello
请帮个忙分析一下为何,如何解决?
 
Java要求文件名与你的类名必须完全一样,大小写也要一致,你现在一个是Hello,一个是hello,怎么能行呢?明白你该怎么做了吧?[:D]
 
文件名与类名一样了后,还提示那个错误。
 
import java.util.*;
//前面有这个吗?
 
你的主类没有定义吧
不管哪个JAVA文件 必须要定义一个用来运行的主类
 
java d:/java/hello
的写法好象不对,一般是写
java -classpath d:/java hello
这样的.[好久不用了,不知上面的写对了没有:),你简单地看一下 java.exe 的help就知道了]
 
javac d:/java/Hello.java
java d:/java/Hello
import java.io.*;
import java.util.*;
 
把d:/java加入classpath就可以,原因是找不到.class文件吧,我是菜鸟,共同进步
 
你在当前目录下执行
javac Hello.java
然后执行
java -cp . Hello
就可以了
 
java -classpath . Hello
如果你的代码是
public class Hello
{
public static void main (String args[])
{
System.out.println ("Hello World!");
}
}
如果没有加package 那方法就一定对
 
用google搜索一下:“java.lang.NoClassDefFounderror”
--by english
已向英特网搜索 java.lang.NoClassDefFounderror。 共有 26,700 项查询结果,这是第 1 - 10 项。 搜索用时 0.10 秒。
--by chinese
已搜索有关java.lang.NoClassDefFounderror的简体中文 和 繁体中文网页。 共有 542 项查询结果,这是第 1 - 10 项。 搜索用时 0.14 秒。

 
前面没有import java.util.*;,但我加上后还是原来那样。
 
java Hello, 而不是 java hello.
 
1,你的jvm没有找到你的class文件,看是不是classpath设置错了
2,如果你设置的classpath是这样的:
....................;d:/java;
这样编译的:
d:/java> javac Hello.java
这样运行的:
d:/java> java Hello
就不会有问题的
 
后退
顶部