小弟初学JAVA ,有个程序,编译时没有问题,但是运行时就出现下列提示
Exception in thread "main" java.lang.NoClassDefFoundError: 编辑1
这是什么问题啊
??
Exception in thread "main" java.lang.NoClassDefFoundError: 编辑1
这是什么问题啊
??
调试欢乐多
classpath=.;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin;
path= C:\jdk13\bin;
然后确定就可以了。 注解:classpath用于指明所有用于引用的类所在的目录,它允许用户把自己的类放在不同的目录中,但应该让JDK编译工具知道它们在那里。例如:set classpath=.;C:\jdk13\lib\tools.jar;C:\jdk13\lib\dt.jar;C:\jdk13\bin; 命令中的第一个圆点指明classpath当前的工作目录。这个圆点非常有用,当不愿意输入完整的当前目录路径时,可以用它来代替,java程序允许这么做。 在d:新建子目录java,编写一个java文件,名字叫Hello.java,进入dos模式,进入到目录d:\java,然后敲入javac Hello.java,编译通过。然后可以使用java Hello运行生成的class文件,没有问题,结果正常输出。若是我们在Hello.java文件中的第一句加入:package hello; ,然后编译,没有出现错误,运行时我们会看到如下错误信息:Exception in thread "main" java.lang.NoClassDefFoundError: Hello (wrong
hello/Hello)
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:486)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.
1)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:248)
at java.net.URLClassLoader.access0(URLClassLoader.java:56)
at java.net.URLClassLoader.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:297)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:286)
at java.lang.ClassLoader.loadClass(ClassLoader.java:253)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:313) 这时,我们在编译的时候,应该这样:javac -d . Hello.java这样会在当前目录下产生一个新的子目录,目录名字就是hello。 我们可以用一下两种方法运行编译好的文件,在当前目录下,敲入:java hello/Hello或者java hello.Hello ,这样我们就可以看到运行结果了。
这是第一步,如果还出现相同的报错~~
就查环境变量的配置~
JAVA_HOME=JDK安装的位置~~如F:\Java\jdk1.5.0_06
CLASSPATH= .;%JAVA_HOME%\lib
PATH= %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin (如前面有东西,就加在后面,用;隔开)
都设置好了~应该没有问题了
CLASSPATH=.;C:\programe files\jdk1.4.2_11\lib
PATH=C:\programe files\jdk1.4.2_11\bin 具体根据自己的jdk安装路径设置。