java - 为什么Java找不到主类?

标签 java class

我刚刚从 http://java.sun.com/docs/books/tutorial/uiswing/examples/events/KeyEventDemoProject/src/events/KeyEventDemo.java 复制了 Key-Listener 代码.我能够用“javac”命令来比较它。但是当我尝试执行编译后的代码(输入“java KeyEventDemo”)时,我在结尾处看到一条大消息:

Could not find the main class: KeyEventDemo.  Program will exit.

昨天我有一个 similar problem在 Windows Vista 上(现在我在 Ubuntu 上)。在 Windows 中,我能够通过键入“java -cp . ProgramName”或通过向环境变量“classpath”添加新值(“.”和“..”)来解决问题。

在 Ubuntu 上,第一个解决方案不起作用。我的意思是,当我输入“java -cp .KeyEventDemo”时,我仍然遇到问题。此外,在 Ubuntu 上,我只需输入“java ProgramName”就可以运行其他程序。

那么,有人能告诉我这个 KeyEventDemo 有什么特别之处吗?为什么它不会正常工作以及如何解决?

最佳答案

KeyEventDemo 类位于 events 包中 要运行它,您必须位于 events< 的 parent 文件夹中 包含该类的文件夹,并使用其完全限定名称运行它,包括包:

java events.KeyEventDemo

类路径必须包含文件夹(或 JAR),它是代表包的文件夹层次结构的根;当前文件夹(我相信)是自动包含的。

关于java - 为什么Java找不到主类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2138572/

相关文章:

Java 2D 数组越界错误

java - java字节码总是向前兼容吗?

java - (错误)无法找到或加载主类

c++ - 如何正确构建相互引用的类? (C++)

java - 使用两个数组创建一副牌

Java 老虎机类

java - Spring JDBC 和 Oracle Db 驱动程序连接

c++ - strncpy 到已经创建的 char []

python - 所有类方法中的类变量访问

java - 这个和类名的区别