系统:linux9.0
jdk版本:jdk-6u17-linux-i586-rpm.bin
一切安装好后,运行javac,没问题;运行java -ersion,也没问题,正常显示版本信息。
但当我写好第一个H.java  时硬是运行不出来!!
提示错误:
Exception in thread "main" java.lang.NoClassDefFoundError: H/class
Caused by: java.lang.ClassNotFoundException: H.class
        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:303)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:316)
Could not find the main class: H.class.  Program will exit.

解决方案 »

  1.   

    没有找到你的类,你检查下你的类的名字写错了没?
    你的里面的类的名字是不是 public class H 啊?
      

  2.   

    Exception in thread "main" java.lang.NoClassDefFoundError: H/class
    Caused by: java.lang.ClassNotFoundException: H.class

    很明显告诉你是没有找到H这个类
      

  3.   

    先javac H.java
    然后java H 执行你的类怎么写的?必须要有main方法,写个简单的先试试public class H{
     public static void main(String args[]){
       System.out.print("hello");
     }
    }
      

  4.   

    很明显你使用了 java H.class 运行程序。正确的是 java H
      

  5.   

    java H #就可以了
    java H.class是错误的
      

  6.   

    1
    配置好环境变量
    2
    确定有H这个类
    3
    确定你的jdk可以用
      

  7.   

    从你的描述中你的环境变量应该是配置好了的吧。
    是在执行java命令是出错的是吧。
    那么有可能是以下的原因吧。
    1.你的class H里面没有写main方法
    2.你使用java H.class运行也会报这个错的。
      

  8.   

    7楼正解
    你在你的目录下面运行了javac H.java
    但是编译后 H.class文件就不在你当前目录下了
    所以类加载器加载不聊H。class当然报错了
    解决办法, 自己想去
      

  9.   

    你编译的位置对吗 classpath对吗 好好检查一下
      

  10.   

    问题已经解决,原因在:应该是   java  H  我错把它写成java H.class    唉,郁闷了