Java 错误:无法找到或加载主类Hello2

Java 错误:无法找到或加载主类Hello2,java,Java,我只是在学习java,并在学习一本书 我有一个通过文本编辑器编写的程序,并通过cmd运行命令 我已经通过javac编写了1个程序,并通过java执行了1个程序,没有问题。(你好) 然后我修改了它,在类中添加了一个注释,名为file Hello2.java。我编译它没有问题,但在执行时,我收到了这个错误:无法找到或加载主类Hello2 我有正确的类路径和路径设置;关于环境变量的讨论 想法 更新 Hello.java public class Hello { public stati

我只是在学习java,并在学习一本书

我有一个通过文本编辑器编写的程序,并通过cmd运行命令

我已经通过javac编写了1个程序,并通过java执行了1个程序,没有问题。(你好) 然后我修改了它,在类中添加了一个注释,名为file Hello2.java。我编译它没有问题,但在执行时,我收到了这个错误:无法找到或加载主类Hello2

我有正确的类路径和路径设置;关于环境变量的讨论

想法

更新

Hello.java

  public class Hello {
      public static void main(String[] args) {
          System.out.println("Hello, world!");
      }
  }
Hello2.java

//Filename Hello2.java
//Written by 
//Written on 

public class Hello2 {
    public static void main(String[] args) {
         System.out.println("Hello, world!");
    }
}

/*This class demonstrates the use of the println() method to print the message Hello, world! */

更改文件名时,也必须更改公共类的名称。因此,如果您的文件名为
Hello2.java
,则该类应称为
Hello2
,而不是
Hello

,我相信您的Hello2.java文件如下所示

class Hello {
     public static void main (String args[]) {
     System.out.println("Hello");
     }
}
换成

class Hello2 {
     public static void main (String args[]) {
     System.out.println("Hello");
     }
}
更改为
class Hello2
,而不是
class Hello

注意:类名和文件名应始终相同

祝你好运

更新1

你在做以下步骤吗

  • 我写了Hello.java
  • 通过javac Hello.java编译
  • 由java运行Hello
  • 将Hello.java重命名为Hello2.java
  • 将类名重命名,即
    class Hello
    class Hello2
  • javac Hello2.java
  • java Hello2

  • 我认为您缺少第6步&在第5步之后执行第7步。请确认。

    您确定正确设置了类路径吗?为什么不试着在.class文件Hello的目录下运行java-cp呢?如果不起作用,请上传完整的stacktrace。

    我找到了解决问题的方法。我知道这不是代码问题。但我所做的是从系统变量中删除了类路径,现在一切都正常了……至少现在是这样


    非常感谢大家的投入,非常感谢

    必须确保将
    .class
    文件的位置添加到类路径中。因此,如果它在当前文件夹中,则将
    添加到类路径中。 请注意,windows类路径分隔符是分号,即

    如果您的类文件以
    Hello2
    程序名保存在以下目录中
    d:\sample

  • java-cpd:\sample Hello2
  • java-cp。Hello2

  • 您是否也重命名了文件中的类?请在此处提供您的类,这将使每个人都能轻松地完成任务。@user1152552:我的查询有任何更新吗???如果你不需要帮助,请告诉我。。。好的??在我这边,他们两个都工作得很好。。。那么问题出在哪里呢???@user1152552:请看我的最新答案。。这就是你在做的吗?我已经做了相应的改变,并且犯了那个错误。另外,当我运行java Hello(第一个运行的java Hello)时,现在没有,并且给了我相同的错误..,更新问题并提供
    Hello2.java
    Hello.java
    文件的java代码。我需要两者……你需要用适当的类名调用
    javac
    java
    wu——一切都需要一致Hi Fahim,这就是我对你的步骤所做的。现在,我将使用现有文件重新执行您的步骤。在步骤3中,我得到了相同的错误。这是不可能的。。。编译(javac Hello.java)后,您应该能够运行javac Hello。。。你能给我发个屏幕截图吗parkarfahim22@yahoo.co.in由于您没有在stackoverflow上添加映像的权限…您好,我从系统中卸载了Java并重新安装了它。删除了已编译的java文件,重新编辑了所有内容。另外,如果类路径和变量中的路径不一致,我仍然会得到相同的错误。然而,在执行“java-cp.Hello”之后,输出成功了!所以我不知道设置或系统是否有问题,或者是否每次都必须使用wright-cp命令?是否像运行java-cp时一样输入classpath系统变量?是的。我用这个:C:\mywork>set path=%path%;C:\ProgramFiles\Java\jdk1.5.0\u 09\b我已经从系统变量中删除了类路径,现在一切都正常了……至少现在是这样。