日期:2014-05-20  浏览次数:20716 次

谁能帮我解决JAVA这个问题 编译时没错 但是运行时就出错了
下面的是我按课本上的程序编写的例子     我机子上装的是JAVA1.5  

import   java.io.*;
import   java.io.IOException;
public   class   Sayit{
          public   static   void   main   (String[]     args)   throws   IOException{
          InputStreamReader     reader=new   InputStreamReader(System.in);
          BufferedReader           input   =new   BufferedReader(reader);
          System.out.print( "Enter   you   name: ");
          String     name=input.readLine();
          System.out.println( "Hello, "+name+ "! ");
          }
                   
    }
我编译时没出现错误
Exit   code:   0
No   Errors

但是我紧接着运行时就出现下面的提示:
java.lang.NoClassDefFoundError:   Sayit
Exception   in   thread   "main "   Exit   code:   1
There   were   errors
哪位大虾帮我解决下   谢谢!

------解决方案--------------------
我的异常网推荐解决方案:java环境变量设置,http://www.myexception.cn/java-other/172921.html
------解决方案--------------------
我运行了
没有问题
------解决方案--------------------
我运行怎么没有错误
init:
deps-jar:
Deleted 6 out of date files in 0 seconds
Compiling 1 source file to D:\projects\test\build\classes
compile:
run-single:
zhou
Enter you name:Hello,zhou!
BUILD SUCCESSFUL (total time: 46 seconds)

这是在NB6.0下的结果,


------解决方案--------------------
java.lang.NoClassDefFoundError: Sayit
---------------------
是因为没有找到Sayit.class这个文件
编译时应该确认大小写,再看看有没有生成这个类文件
------解决方案--------------------
在用户变量里面设置路径只是对当前用户有用,而在系统变量里面设置对所有用户都有用, PATH应该是设置为BIN路径,这样BIN目录下的那些命令才可以直接运行。
你的程序我也可以运行,不太清楚为什么你不可以
------解决方案--------------------
找不到你编译的CLASS类而已
在CLASSPATH中设置路径
或直接在命令行中用-classpath 就可以了
------解决方案--------------------
你是不是运行时输入的javac Sayit? 要运行请用java Sayit
------解决方案--------------------
java
麻烦
------解决方案--------------------
是的!那个程序是对的,
------解决方案--------------------
你的文件名和类名要一致
------解决方案--------------------
既然有人运行成功了,只能是环境变量设的不对了,应该是:
“.;E:\java\jdk1.5\lib\dt.jar;E:\java\jdk1.5\lib\tools.jar”
------解决方案--------------------
程序是没有bug的。
你的编译时环境没有错,打算运行时环境变量没设置好。
具体如下:
我的电脑--》属性---> 高级---》环境变量
找到classpath 如果没有的话 自己增加一个classpath
然后设置为 “.;c:\java\jdk1.5\lib\dt.jar;c:\java\jdk1.5\lib\tools.jar”
(这里假设你的jdk是装在c盘的java下,如果不是找到你自己的安装路径换过来,前面这个“.”是一定要的,表示当前路径,没有它就不能在当前路径运行了,你肯定就是这个问题)

------解决方案--------------------
LZ,我也碰到过你一样的问题,我写了一个非常简单的JAVA类,类似HELLOWORLD一样的程序,在我的机子上运行(在命令行中运行)也出现你一样的问题,我的JDK也是1.5的,然后拿到我同事的机子(他的是1.4的.)上运行却没有任何问题.所以我也认为是版本的问题,但在IDE中却没有出现这种问题,只是在命令行中会出现这种错误,我敢保证一切设置都没有错误,但就是出现你一样的错误,不知道新出的JDK1.6有没有这样的问题,当时装完JDK1.5,出于好奇,在命令行试了一下,始终出现那样的错误,搞的我重装了好几次,问题都没有解决,我也怀疑是版本的问题.随着JDK版本的升级,大家也热衷于在IDE中调试程序,所以很少发现这样的问题.所以楼上那么多的兄弟讨论了那么多,我认为都是有点浪费了时间,又是配置不对,又不路径不对,其实没有那么复杂,所以在这里,烦请哪位兄弟花点时间,去证明一下,用JDK1.5的版本在命令行中调试一个最简单的程序,若能调试成功,烦请告诉论坛的兄弟一下.