如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
JAVA程序命令行下的执行JAVA程序命令行下的执行IED用惯了,基础都快忘记了javac先不说了,环境变量里面设置对了基本没什么问题。关键是java这个命令java-classpath.class的类路径(如果是包的话,需要指定到包上面的路径);引用的类路径xx.xx.aaa(如果是javac的话需要javacxx\xxx\aaa.java,必须用路径的形式)注意如果源文件的结构是Package的话,classpath指定到.class文件上面,然后直接执行aaa是不行的(javac的话可以),必须按上面的规则。举个例子packagea.b.c;publicclasshello{publicstaticvoidmain(Stringargs[]){System.out.println("Hellotheworld!");}}此程序可以编译通过,但是执行时,却提示以下错误!D:\my\xdj>javachello.javaD:\my\xdj>javahelloExceptioninthread"main"java.lang.NoClassDefFoundError:hello(wrongname:a/b/c/hello)atjava.lang.ClassLoader.defineClass0(NativeMethod)atjava.lang.ClassLoader.defineClass(ClassLoader.java:537)atjava.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)atjava.net.URLClassLoader.defineClass(URLClassLoader.java:251)atjava.net.URLClassLoader.Access$100(URLClassLoader.java:55)atjava.net.URLClassLoader$1.run(URLClassLoader.java:194)atjava.security.AccessController.doPrivileged(NativeMethod)atjava.net.URLClassLoader.findClass(URLClassLoader.java:187)atjava.lang.ClassLoader.loadClass(ClassLoader.java:289)atsun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274)atjava.lang.ClassLoader.loadClass(ClassLoader.java:235)atjava.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)在xdj目录下建立一个\a\b\c子目录把hello.java放在它下面,用以下命令进行编译和执行时,可正常通过!D:\my\xdj>javacd:\my\xdj\a\b\c\hello.javaD:\my\xdj>javaa.b.c.helloHellotheworld!D:\my\xdj>再看下面另外一种情况,先让我们在xdj目录下建立两个文件a.java和b.java文件,其内容如下。a.java文件内容:importa.b.c.*;publicclassa{publicstaticvoidmain(String[]args){bb1=newb();b1.print();}}b.java文件内容:packagea.b.c;publicclassb{publicvoidprint(){System.out.println("我是被调用子类的程序输出呀!");}}直接编译a.java文件时,会提示以下错误!D:\my\xdj>javaca.javaa.java:1:packagea.b.cdoesnotexistimporta.b.c.*;a.java:6:cannotaccessbbadclassfile:.\b.javafiledoesnotcontainclassbPleaseremoveormakesureitappearsinthecorrectsubDirectoryoftheclasspath.bb1=newb();^2errorsD:\my\xdj>接下来,我们把b.java移到xdj\a\b\c\下,并把\xdj目录下的b.java删除掉呀!重新执行编