通过命令窗口,cd 到jdk\bin的目录,
测试javac和java都能用,
但是通过javac编译java文件之后,再通过java运行class文件,
提示错误: 找不到或无法加载主类 hello  这是怎么回事啊

解决方案 »

  1.   

    不知你配置了Path和classpath没有?
    再则,请贴出错误提示。另外,粗学者,最好直接使用Eclipse。
      

  2.   

    文件名后缀应该是.java
    把你的隐藏文件名打开就知道了
      

  3.   

    能不能把你的具体命令发出来呢 应该不是1楼说的path的事
      

  4.   

    不都提示了吗,找不到主类,要么是文件名跟类名不符,要么是没有main方法。
      

  5.   

    确认你的原文件.java中的package. 运行的时候先cd到该package最大的根然后再javac package就可以了
      

  6.   

    运行的时候java 包名.类
      

  7.   

    重新安装SDK试试
      

  8.   

    明白了  
    因为配置了classpath 所以经过编译的hello.java文件就自动存在了classpath变量指定的位置
    如果想要运行 hello.class 还得去classpath目录下运行  
    谢谢大家了
      

  9.   

    文件名和类名不一样也可以,主要是配置了classpath环境变量之后,所有编译生成的class文件都要去classpath环境目录下运行才可以
      

  10.   

    文件名和类名不一样也可以,主要是配置了classpath环境变量之后,所有编译生成的class文件都要去classpath环境目录下运行才可以文件名必须和文件中的public类名相同, 
    我写了这么个类 public class H {
         public static void main(String[] args) {
             System.out.println("good");
         }
     }
    这是运行结果:zh@zh:~$ vi a.java
    zh@zh:~$ javac a.java 
    a.java:1: 错误: 类H是公共的, 应在名为 H.java 的文件中声明
    public class H {
           ^
    1 个错误
    zh@zh:~$ mv a.java H.java
    zh@zh:~$ javac H.java 
    zh@zh:~$ java H
    good
    这结果中,第一次运行提示,说明了类名与文件名不能随便取。
    另外,我没有更换过目录。
    classpath的作用,是为了让你在任何目录下都可以方便的运行程序。而不用非得跑到程序安装目录下。
    比如在 D:\java安装的java,配到classpath,是为了在其他任何地方都可以使用javac,和java,按照你的理解配置classpath有什么用?
    你的理解全部都错了。
      

  11.   

    文件名和类名不一样也可以,主要是配置了classpath环境变量之后,所有编译生成的class文件都要去classpath环境目录下运行才可以文件名必须和文件中的public类名相同, 
    我写了这么个类 public class H {
         public static void main(String[] args) {
             System.out.println("good");
         }
     }
    这是运行结果:zh@zh:~$ vi a.java
    zh@zh:~$ javac a.java 
    a.java:1: 错误: 类H是公共的, 应在名为 H.java 的文件中声明
    public class H {
           ^
    1 个错误
    zh@zh:~$ mv a.java H.java
    zh@zh:~$ javac H.java 
    zh@zh:~$ java H
    good
    这结果中,第一次运行提示,说明了类名与文件名不能随便取。
    另外,我没有更换过目录。
    classpath的作用,是为了让你在任何目录下都可以方便的运行程序。而不用非得跑到程序安装目录下。
    比如在 D:\java安装的java,配到classpath,是为了在其他任何地方都可以使用javac,和java,按照你的理解配置classpath有什么用?
    你的理解全部都错了。
    我想错了,想成环境变量了,classpath的地方你没有理解错。
      

  12.   

    我只想说 类名不是Hello么?