hello.java是放在桌面上的
//hello.java
public class Hello
{
  public static void main(String[] args)
 {
   System.out.println("hello world");
 }
}//编译运行
C:\Documents and Settings\Administrator\桌面>javac hello.java
C:\Documents and Settings\Administrator\桌面>java hello
/*这样没问题
但是我把hello.java文件里面加了 package my;以后,重新编译
C:\Documents and Settings\Administrator\桌面>javac hello.java
C:\Documents and Settings\Administrator\桌面>java my.hello这时候提示错误:Exception in thread "main" java.lang.NoClassDefFoundError:my/Hello
在下乃JAVA一小菜鸟。对这问题不甚明了,望各位高手大哥大姐赐教一二,不胜感激涕零。谢谢
*/
 

解决方案 »

  1.   

    C:\Documents and Settings\Administrator\桌面>java my.hello
      

  2.   

    说楼了
    C:\Documents and Settings\Administrator\桌面\my>java my.hello
      

  3.   

    。。看来我表达能力出毛病了,应该是
    C:\Documents and Settings\Administrator\桌面>java my.hello
    然后要有个my的文件夹在桌面,hello文件要丢里面
      

  4.   


      C:\Documents and Settings\Administrator\桌面>javac hello.java
      C:\Documents and Settings\Administrator\桌面>java my.hello前面编译的是hello.java
    后面运行的是my.hello....
      

  5.   

    对带有包名的类编译
    如 javac -d . Hello.java
    -d :指定存放编译文件的目录
    像上边例子 
    当你执行时在当前目录
    用 java my.Hello例 javac -d "D:\\build" Hello.java
    然后进入 D:\build
    java my.Hello注意一点 这个指定的目录 要先建好
      

  6.   


    就是说桌面上必须得有个my文件夹?
    刚刚建了个my文件夹 把hello.java扔进去了以后 再编译 果然好了为什么直接扔桌面上不可以呢?
      

  7.   

    你把这个程序放到package my下
    相当于在桌面下又建了个名为my的文件夹
    所以你在命令提示符下还得进入my再用javac