Java初学者往往对如何配置Java开发环境感到迷惑论坛上也有很多朋友在询问关于JDK配置的问题特别是配置之后编译java文件的时候总是碰到这样一个问题错误提示为 Microsoft Windows [Version ] (C) 版权所有 Microsoft Corp C:\>javac HelloWorldjava C:\>java HelloWorld Exception in thread main javalangNoClassDefFoundError: HelloWorld C:\> 以上为出错信息源程序如下: class HelloWorld { public static void main(String[] args) { // Display Hello World! Systemoutprintln(Hello World!); } } 译通过 运行怎么就Exception in thread main javalangNoClassDefFoundError: HelloWorld???????/ 对于以上的问题大家一贯的解决方法为把HelloWorldjava文件所在目录的路径加入参数classpath中如set classpath=%classpath%;;……(这里要注意其中的;一会儿我们做个试验看看到底是什么意思)我试过了好像不行不知道是不是我没有配置好至于给这个问题解答的网友有没有具体实践过我不得而知于是我自己做了一次尝试 我使用Win+JDK在下载jsdk__winexe然后点击安装安装系统默认的路径安装到c:盘即c:\jdk安装完成需要配置环境这涉及到三个参数pathclasspathjava_home在我的电脑-》属性-》高级-》环境变量 中分别添加这三个变量他们的值分别为 名称=值 java_home=c:\jdk (安装路径) classpath=;C:\jdk\lib\toolsjar;C:\jdk\lib\dtjar;C:\jdk\bin; path= C:\jdk\bin; 然后确定就可以了 注解classpath用于指明所有用于引用的类所在的目录它允许用户把自己的类放在不同的目录中但应该让JDK编译工具知道它们在那里例如 set classpath=;C:\jdk\lib\toolsjar;C:\jdk\lib\dtjar;C:\jdk\bin; 命令中的第一个圆点指明classpath当前的工作目录这个圆点非常有用当不愿意输入完整的当前目录路径时可以用它来代替java程序允许这么做 在d:新建子目录java编写一个java文件名字叫Hellojava进入dos模式进入到目录d:\java然后敲入javac Hellojava编译通过然后可以使用java Hello运行生成的class文件没有问题结果正常输出若是我们在Hellojava文件中的第一句加入package hello; 然后编译没有出现错误运行时我们会看到如下错误信息 Exception in thread main javalangNoClassDefFoundError: Hello (wrong hello/Hello) at javalangClassLoaderdefineClass(Native Method) at javalangClassLoaderdefineClass(ClassLoaderjava:) at javasecuritySecureClassLoaderdefineClass(SecureClassLoader ) at URLClassLoaderdefineClass(URLClassLoaderjava:) at URLClassLoaderaccess(URLClassLoaderjava:) at URLClassLoaderrun(URLClassLoaderjava:) at javasecurityAccessControllerdoPrivileged(Native Method) at URLClassLoaderfindClass(URLClassLoaderjava:) at javalangClassLoaderloadClass(ClassLoaderjava:) at sunmiscLauncher$AppClassLoaderloadClass(Launcherjava:) at javalangClassLoaderloadClass(ClassLoaderjava:) at javalangClassLoaderloadClassInternal(ClassLoaderjava:) 这时我们在编译的时候应该这样javac d Hellojava这样会在当前目录下产生一个新的子目录目录名字就是hello 我们可以用一下两种方法运行编译好的文件在当前目录下敲入java hello/Hello或者java helloHello 这样我们就可以看到运行结果了 |