首先声明:
1.javac和java命令大小写等无误;
2.执行javac命令后可以在路径中生成.class文件;
3.执行java命令后显示错误信息;
4.打开.class文件,里面是乱码;
5.CLASSPATH设置中先后采用了“.;”、“.\;”等多种方式,皆无济于事!
6.采用最简单的HelloWorld(Java代码没有问题)来进行测试仍是如此。
cmd提示错误信息:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld
Caused by: java.lang.ClassNotFoundException: HelloWorld
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloWorld. Program will exit.
------解决方案--------------------------------------------------------
代码迷推荐解决方案:java环境变量设置,http://www.daimami.com/search?q=172921
------解决方案--------------------------------------------------------
classpath采用";,;"
------解决方案--------------------------------------------------------
將下面程式儲存到 JDK 目錄下的 bin 子目錄,命名為 HelloWorld.java
- Java code
public class HelloWorld{public static void main(String[] args){ System.out.println("Hello World"); } }
------解决方案--------------------------------------------------------
检查环境变量配置,class没找到明显是classpath的问题,另外你有没有写错类名称
------解决方案--------------------------------------------------------
1.javac和java命令大小写等无误;
2.执行javac命令后可以在路径中生成.class文件;
3.执行java命令后显示错误信息;
4.打开.class文件,里面是乱码;
5.CLASSPATH设置中先后采用了“.;”、“.\;”等多种方式,皆无济于事!
6.采用最简单的HelloWorld(Java代码没有问题)来进行测试仍是如此。
问题分析:
1.java和javac命令都可以使用,说明环境变量配置正确,否则会提示找不到java或者javac
2.后缀为.class的文件是字节码文件,一般人都看不懂
3.这样看来很有可能是源代码出了问题
解决问题的思路:
还是先检查一下java和javac命令,直接键入java或者javac命令,没有错误提示就ok
再用不带包结构的HelloWorld程序(这个源代码应该不难写出)测试,看能否出结果,因为包结构也会影响程序的运行
如果结果正确说明以前的程序有问题
要是最后还没有找到问题,不妨把源代码贴出来看看
------解决方案--------------------------------------------------------
还是classpath配置不正确啊。
------解决方案--------------------------------------------------------
你把源码和classpath的内容贴出来啊
------解决方案--------------------------------------------------------
你这个Java类是不是写在了某一个package中了,例如
package com.mychat.util
如果是这样,那么你直接到那个目录中去运行这个类,肯定是找不到定义的啦。
如果你的类使用了包,那么你就要把这个打成jar包,然后通过java -jar XXX.jar来运行了