之前已经问过这个问题,但由于某种原因,我仍然无法弄清楚出了什么问题。
我在文件 src 的语法测试包中得到了一个名为 NewClass 的类。从 src 路径我输入:

javac src/syntaxtest/NewClass.java

并且类被编译,我可以在syntaxtest文件夹中看到NewClass.class。现在从与 NewClass.class 相同的路径甚至相同的文件夹中,我无法弄清楚如何从终端运行该类。我做了很多不同的尝试,但我得到了以太

ClassDefNotFound 或 ClassDefNotFound(错误名称:syntaxtest/NewClass)

最佳答案

试试“java -cp src syntaxtest.NewClass”。

也就是说,如果您有一个文件夹“src”,其中包含子文件夹(包)“syntaxtest”并且类“NewClass”在“包语法测试”中,那么上述命令将起作用。

$ ls src/syntaxtest
NewClass.java
$ cat src/syntaxtest/NewClass.java
package syntaxtest;
public class NewClass {
  public static void main(String args[]) {
    System.out.println("Hello, World!");
  }
}
$ javac src/syntaxtest/NewClass.java
$ java -cp src syntaxtest.NewClass
Hello, World!

关于java - 从终端运行java类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9234488/

10-10 16:42