使用 NetBeans 编译 java class 但 Linux 上的控制台出错

Compile java class with NetBeans but error with console on Linux

在 NetBeans 8.0.2 中,我做了一个简单的 "Hello World" class 编译并且一切正常。

public class OOP_HW3 { 
    public static void main(String[] args) {
      System.out.println("Hi ");
    }
}

另一方面,当我使用控制台和 运行 导航到此文件夹时:

$ javac OOP_HW3.java // OK 
$ java OOP_HW3 
Exception in thread "main" java.lang.NoClassDefFoundError: OOP_HW3 (wrong name: oop_hw3/OOP_HW3)
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
....

我可以很容易地 运行 这个文件与控制台在任何其他目录中,但在 NetBeans 项目中给我错误。我错过了什么?

从 java 文件的顶部删除 package 定义。

运行 您所在位置的以下命令 运行ning 当前命令如下:

cd ..
java oop_hw3.OOP_HW3

由于您使用的是包,因此您需要位于顶部,即父目录,然后 运行 具有完全限定的包名称,后跟 class 定义主要方法的位置。