大家好:
    我遇到一个问题希望大家忙个忙啊
    我在(j2sdk中)运行以下程序的时候:
    public class test{ 
public static void main(String args[]){ 
System.out.println("This is a test program."); 

}
运行后就出错了:输入javac test.java命令后说:cannot read:test.java
                再输入java test命令又说:exception in thread "main" java.lang.NoClassDefFoundError:test    请问一下是什么原因啊!

解决方案 »

  1.   

    环境变量正确设置否?(path)类名大小写?
      

  2.   

    在test.java文件所在目录下运行javac test.java
      

  3.   

    你的程序文件扩展名是.java吗?还是.java.txt
    我以前也遇到过这样的问题,把扩展名改一下就好了。不知道你的是不是
      

  4.   

    还是不行啊,始终没有看到生成的test.class文件,是不是配置错了?
    我的环境变量是这样配置的:JAVA_HOME=E:\j2sdk1.4.2_12
                              CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%CATALINA_HOME%\common\lib\servlet-api.jar;
                              Path=%JAVA_HOME%\bin;C:\WINNT\SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem
    我的j2sdk装在E盘,TOMCAT装在盘,SQL Server2000还没装。大家看看有不有错啊!
      

  5.   

    可能你没进到test.java的目录编译,假如test.java  在D:\demo下
    D:\>cd demo
    D:\demo\>javac test.java
      

  6.   

    楼主最好能够看看 JAVA规范,对以后写程序会有很多好处的。
    例如类名首字母应大写,文件名应与public类完全相同,
    楼主的代码可以改成这样:public class Test{
    public static void main(String args[]){
    System.out.println("This is a test program.");
    }
    }
    文件名为Test.java
    编译用:javac Test.java
    执行用:java Test
    就可以了(前提是你的path设置正确)
      

  7.   

    你的目录对不对,找得到那个test.java没有?
      

  8.   

    看看是Test.java 还是Test.java.test 注意文件名的后缀
    还有编译时,其相应的目录
      

  9.   

    test.java的文件名改为Test.java
    类名test改为Test
      

  10.   

    还是不行。高手帮我看下path设置是否正确!
      

  11.   

    你把Test.java放到jdk/bin 的目录下运行试试,这应该和path没关系了吧
      

  12.   

    怎么刚开始学的人几乎都要遇到这个问题。都看到很多人问这个了。TO:Pigwen(Pigwen) 
    类名大小写没有关系,只要一致就行了。如果你愿意取中文类名都可以。但可能要在IDE工具里才行,用javac可以编译,但运行不行。在IDE工具里就可以。象ECLIPSE