我今天刚装好JDK的j2sdk1.4.2版 路径E:\j2sdk1.4.2
程序:public class Hello{
         public static void main (String[] args){
             System.out.println ("Hello,world.");
         }
       }
1:用命令提示符编译的时候输入“javac Hello”出现:
javac:invalid flag:Hello
Usage...(和直接打javac一样的内容);
但是输入javac Hello.java就出现“error:cannot read:Hello.java ”的字样。
2:在javac Hello的情况下 继续运行==>java Hello还是要出现
Exception in thread "main" java.lang.NoClassDefFoundError:Hello我现在的PATH是:“%JAVA_HOME%\bin”
CLASSPATH是:“.;E:\javacode;E:\j2sdk1.4.2\lib\dt.jar;E:\j2sdk1.4.2\lib\tools.jar”
    JAVA_HOME=E:\j2sdk1.4.2    Hello.java文件放在E:\javacode中
请问错在什么地方啊?

解决方案 »

  1.   

    如果你下载一个Eclipse,就绝对不会有类路径问题了
      

  2.   

    把文件的后缀显示出来,看看你的文件是不是.java的文件,有可能还只是个.txt的文本文件
      

  3.   

    初学的话最好还是不忙用eclipse
      

  4.   

    把文件拖到 开始 运行 文本框里 看看文件的全名 扩展名是否是.java
    编译的时候要带扩展名
    运行的时候不要
      

  5.   

    javac  E:\javacode\helle.java
      

  6.   

    扩展名的问题,在工具--文件夹属选项--查看中,把“隐藏已知文件扩展名”前面的勾去掉,把txt的扩展名去掉。
      

  7.   

    javac hello.java
    扩展名不能省略
      

  8.   

    确定后缀是 .java 而不是.txt ,最好是在设置-> 文件夹选项 里把“显示文件扩展名”上打钩
    不然改文件格式很麻烦的
      

  9.   

    javac Hello.java
    java Hello
      

  10.   

    我的文件后缀没有错。按楼上一位高手的说法:javac  E:\javacode\helle.java编译以后可以产生.class文件。并且运行已经成功了。
    还有个问题:我以后都程序放 E:\javacode里那么便宜的时候都要
    javac  E:\javacode\**.java这样的写么?能把路径改一下以后直接写
    javac  **.java呢?还是要把JAVA装到C盘才可以这样写呢?
      

  11.   

    将E:\javacode\目录放到classpath中,就可以直接用“javac  **.java”了。
    classpath是系统的环境变量(我的电脑->属性->高级),如果原来没有新增这个变量就可以.
      

  12.   

    我现在的CLASSPATH是:“.;E:\javacode;E:\j2sdk1.4.2\lib\dt.jar;E:\j2sdk1.4.2\lib\tools.jar”这样有问题吗?不是已经有“.;E:\javacode;”了吗?
      

  13.   


    E:\javacode\
    放到最前面试一下