日期:2014-05-20  浏览次数:20768 次

cmd只能编译.java不能运行.class,甚是苦恼,怎么办?高手来帮帮我啊!
首先声明:
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.myexception.cn/java-other/172921.html
------解决方案--------------------
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来运行了