lganggang131 发表于 2013-1-15 08:15:05

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

<div class="Section0">相信很多朋友遇到过这样一个问题(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
页: [1]
查看完整版本: MyEclipse下创建的带包名的类在dos中能编译得到class文件,但不能运行的解决办法