MyEclipse上创建的带包名的类在dos中能编译得到class文件,但不能运行的解决方法

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