MyEclipse下创建的带包名的类在dos中能编译得到class文件,但不能运行的解决办法
相信很多朋友遇到过这样一个问题(MyEclipse用久了,回去用dos就不太习惯了):
MyEclipse下创建的带包名的类在dos中能编译得到class文件,但不能运行的解决办法:
?
?
package?com.csdn.test3;
public?class?MyCopy?{
?........
}
编译后MyCopy.java文件和MyCopy.class文件都在E:\javawork\Struts\Heima\src\com\csdn\test3目录下。
?
?
在dos下:
E:\javawork\Struts\Heima\src\com\csdn\test3>javac?MyCopy.java
?
E:\javawork\Struts\Heima\src\com\csdn\test3>java?MyCopy
Exception?in?thread?"main"?java.lang.NoClassDefFoundError:?MyCopy?(wrong?name:
com/csdn/test3/MyCopy)
????????at?java.lang.ClassLoader.defineClass1(Native?Method)
????????at?java.lang.ClassLoader.defineClass(ClassLoader.java:621)
????????at?java.security.SecureClassLoader.defineClass(SecureClassLoader.java:1
4)
????????at?java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
????????at?java.net.URLClassLoader.access$000(URLClassLoader.java:56)
????????at?java.net.URLClassLoader$1.run(URLClassLoader.java:195)
????????at?java.security.AccessController.doPrivileged(Native?Method)
????????at?java.net.URLClassLoader.findClass(URLClassLoader.java:188)
????????at?java.lang.ClassLoader.loadClass(ClassLoader.java:307)
????????at?sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
????????at?java.lang.ClassLoader.loadClass(ClassLoader.java:252)
????????at?java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could?not?find?the?main?class:?MyCopy.??Program?will?exit.
?
有两种解决办法
一:在源程序中把包去掉,即package?com.csdn.test3这句不要 ????
二:运行时候改为如下形式: ????
E:\javawork\Struts\Heima\src>java?com/csdn/test3/MyCopy
?