您的位置:首页 > 编程语言 > Java开发

Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com/zhangyun/Demo)解决办法

2015-08-12 22:31 666 查看
介绍一个Java初学者可能会遇到的问题

首先,创建一个类,如下

文件名:Demo.java

package com.zhangyun;

public class Demo {

/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

System.out.println("Hello World!");

}

}

然后我找到对应在磁盘的位置,如下:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>dir

2015/08/12 22:01 <DIR> .

2015/08/12 22:01 <DIR> ..

2015/08/12 21:52 206 Demo.java

1 个文件 206 字节

2 个目录 15,542,927,360 可用字节

然后我编译java文件:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>javac Demo.java

E:\MyEclipse10\JavaLearning\src\com\zhangyun>dir

2015/08/12 22:04 <DIR> .

2015/08/12 22:04 <DIR> ..

2015/08/12 22:04 427 Demo.class

2015/08/12 21:52 206 Demo.java

2 个文件 633 字节

2 个目录 15,542,927,360 可用字节

编译成功后,产生Demo.class文件,我开始运行:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>java Demo

Exception in thread "main" java.lang.NoClassDefFoundError: Demo (wrong name: com

/zhangyun/Demo)

at java.lang.ClassLoader.defineClass1(Native Method)

at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:14

2)

at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)

at java.net.URLClassLoader.access$100(URLClassLoader.java:71)

at java.net.URLClassLoader$1.run(URLClassLoader.java:361)

at java.net.URLClassLoader$1.run(URLClassLoader.java:355)

at java.security.AccessController.doPrivileged(Native Method)

at java.net.URLClassLoader.findClass(URLClassLoader.java:354)

at java.lang.ClassLoader.loadClass(ClassLoader.java:425)

at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)

at java.lang.ClassLoader.loadClass(ClassLoader.java:358)

at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)

发现出错了,其实遇到上面的问题,不要着急,因为我java代码中存在包,所以正确的执行方法是:

E:\MyEclipse10\JavaLearning\src\com\zhangyun>cd ../../

E:\MyEclipse10\JavaLearning\src>javac -d . com\zhangyun\Demo.java

E:\MyEclipse10\JavaLearning\src>java com.zhangyun.Demo

Hello World!

注释:很多在Eclipse或MyEclipse中开发习惯了,当然不会遇到这个问题,但是java的初级爱好者,大多喜欢拿着记事本写着代码,dos窗口中敲着命令。。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: