//MyClass.javapackage mypackage;public class MyClass{
MyClass(){
System.out.println("ok!wow!");}public static void main(String[] args){
MyClass mc=new MyClass();}}
运行结果:
Exception in thread "main" java.lang.NoClassDefFoundError: MyClass (wrong name:
mypackage/MyClass)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)怎么会这样,我要怎么样才能建一个包?

解决方案 »

  1.   

    package mypackage;myClass(){
    System.out.println("ok!wow!");}public class MyClass{
     public static void main(String[] args){
      myClass mc=new myClass();
    }}
      

  2.   

    就一文件夹!最后.class文件要放在相应的文件夹才可以比如,你要把你的字节码放在文件夹 mypackage 下
      

  3.   

    如package com.bruceeckel.simplest它会按相对路径\com\bruceeckel\simplest解析设好环境变量使之指向该相对路径,然后再代码开始加上import + 包里面的类 就ok了!!
      

  4.   

    D:\java\workspace>javac -d . MyClass.javaD:\java\workspace>java mypackage.MyClass
      

  5.   

    好了,cool!
    谢谢楼上的,能不能给我讲讲-d 是干什么用的?
      

  6.   

    -d directory 
    Specifies the root directory of the class file hierarchy. In other words, this is essentially a destination directory for your compiled classes. For example, doing: 
       javac -d C:\users\dac\classes MyProgram.javacauses the class files for the classes in the MyProgram.java source file to be saved in the directory C:\users\dac\classes. If your class is in the package demos\awt, the class files would be placed in directory C:\users\dac\classes\demos\awt. 
    ============
    简单地说是加上-d参数会将.class文件编译到指定的路径并按其指定的包放好(不存在会帮你创建好)
    .是当前目录的意思~
      

  7.   

    D:\java\workspace>javac -d . MyClass.javaD:\java\workspace>java mypackage.MyClass楼上那个说的对!
      

  8.   

    不好意思,看错了
    javac -d . MyClass.java是编译
    java mypackage.MyClass是运行