Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/360.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 错误:无法找到或加载主类HelloWorld_Java_Javac - Fatal编程技术网

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

Java 错误:无法找到或加载主类HelloWorld,java,javac,Java,Javac,我已经在Git Bash中创建了一个HelloWorld.java文件 $vi HelloWorld.java 然后插入以下内容: class Hello { public static void main (String[] arguments) { System.out.println ("Hello, world!"); } } 按esc键并写入:wq 然后我试着给程序打电话 $ls

我已经在Git Bash中创建了一个HelloWorld.java文件

 $vi HelloWorld.java
然后插入以下内容:

   class Hello { 
        public static void main (String[] arguments) {              
            System.out.println ("Hello, world!");
       }
    }
按esc键并写入:wq

然后我试着给程序打电话

  $ls
  HelloWorld.java
  $javac HelloWorld.java
  $ls
  Hello.class HelloWorld.Java
  $ java HelloWorld
  Error: Could not find or load main class HelloWorld
  Caused by: java.lang.ClassNotFoundException: HelloWorld

你能帮我吗?

你需要解决一些问题:

主类应该具有公共访问修饰符

public class Hello {}
文件名和类名也应该匹配。因此,如果您的类名是Hello,那么您的文件应该命名为Hello.java


您需要解决一些问题:

主类应该具有公共访问修饰符

public class Hello {}
文件名和类名也应该匹配。因此,如果您的类名是Hello,那么您的文件应该命名为Hello.java


你的班级叫Hello,不是HelloWorld。将文件命名为Hello.java并将该类公开也是一个好主意。@ernest_k如何防止它将类名从HelloWorld更改为Hello?我试图手动更改名称,但它一直抛出一个错误:错误:无法找到或加载主类HelloWorld,原因是:java.lang.NoClassDefFoundError:Hello错误名称:HelloWorld很简单:手动键入公共类HelloWorld{…},并将文件另存为HelloWorld.java。其余步骤相同。Java不会更改文件名或类名。您的类称为Hello,而不是HelloWorld。将文件命名为Hello.java并将该类公开也是一个好主意。@ernest_k如何防止它将类名从HelloWorld更改为Hello?我试图手动更改名称,但它一直抛出一个错误:错误:无法找到或加载主类HelloWorld,原因是:java.lang.NoClassDefFoundError:Hello错误名称:HelloWorld很简单:手动键入公共类HelloWorld{…},并将文件另存为HelloWorld.java。其余步骤相同。Java不会更改文件或类名。我尝试使用public,但在调用javac HelloWolrd.Java:HelloWorld.Java:1:error:class Hello是public的,应该在名为Hello.Java public class Hello的文件中声明{还有,如何防止它将类名从HelloWorld更改为Hello?正如bhusak所说,您的文件名和类名需要匹配。如果您的类是公共类Hello{}然后,您的文件需要是Hello.java-更改此文件后重新编译。您只能更改文件名以匹配类的名称。例如,类的名称为HelloWorld,文件名为HelloWorld.java,等等@MAD-HAX可以正常工作,谢谢,但我仍然不明白为什么更改了名称?我明白了,谢谢!我尝试过使用public,但是它在调用javac HelloWolrd.java:HelloWorld.java:1:error:class Hello是public时抛出一个错误,应该在名为Hello.java public class Hello的文件中声明{还有,如何防止它将类名从HelloWorld更改为Hello?正如bhusak所说,您的文件名和类名需要匹配。如果您的类是公共类Hello{}然后,您的文件需要是Hello.java-更改此文件后重新编译。您只能更改文件名以匹配类的名称。例如,类的名称为HelloWorld,文件名为HelloWorld.java,等等@MAD-HAX有效,谢谢,但我仍然不明白为什么名称被更改?我明白了,谢谢!请在1中解释您的代码行以使其成为用户交互请在1行中解释代码以使其成为用户交互