菜鸟问题,一个简单的java程序如下打包之后:package edu.u1;edu这个文件夹在E盘下,进入u1后,javac可以正常编译通过,但是java 文件名 执行的时候,出现以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError:……………………………………
…………大意就是找不到class文件。但是该edu/u1这个文件夹下是有相应class文件的。
该怎么找错呢?有Eclipse我没用,想尝试用javac 和java学习一下java。

解决方案 »

  1.   

    没有相关jar包  或者 classpath设置的问题
      

  2.   

    假设你的原文件叫做:HelloJava.java,在这个文件所在目录下,编译:
    javac -d . HelloJava.java
    运行:
    java edu.u1.HelloJava
    这样试试。
      

  3.   


    如果写的是裸体类,是可以成功编译和执行的。裸体类就是没有package的类……
      

  4.   

    有了包名,编译后保存文件的目录结构就按包名形成的。
    象上面那样,类文件保存的路径是:.\edu\u1\HelloJava.class(.代表当前路径).
    不要去u1下面运行。