我编译了一个 HelloWorld 程序,我正在使用命令提示符来运行它。 .class 文件名为 HelloWorld2.class
该文件位于 C:\Users\Matt\workspace\HelloWorld2\bin 这是我在命令提示符下键入“Java HelloWorld2”时得到的内容:
C:\Users\Matt>Java HelloWorld2
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld2
Caused by: java.lang.ClassNotFoundException: HelloWorld2
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloWorld2. Program will exit.
我期待看到打印出来的 HelloWorld。我究竟做错了什么?我安装了 JDK。
原文由 Skizz 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果你的类没有包,你只需要设置类路径来找到你编译的类:
java -cp C:\Users\Matt\workspace\HelloWorld2\bin HelloWorld2
如果你的类有一个包,那么它需要在与包名对应的目录中,类路径必须设置为代表包的目录树的根目录。