我在处理一个有点复杂的程序时遇到了找不到主类错误的问题。为了消除可能出现的问题,我决定尝试一个 hello world 程序,看看是否可以让它工作。我正在使用一台服务器,我非常确定该服务器正在运行 Red Hat Enterprise 6。我按照 Bart Kiers 在回答 this question 中提供的步骤进行操作。 :
- 创建一个名为HelloWorld.java的文件;
- 粘贴下面发布的代码
- 在HelloWorld.java内部:通过执行命令javac来编译它 HelloWorld.java 与 HelloWorld.java 位于同一文件夹中;
- 通过执行以下操作来执行代码: java -cp 。 HelloWorld 位于同一文件夹中 HelloWorld.java 已加入。
最后一步后我收到以下错误:
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorld/
Caused by: java.lang.ClassNotFoundException: HelloWorld.
at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: HelloWorld.. Program will exit.
如果我输入 java -version,则会显示版本信息,表明我的 PATH 变量设置正确。有人对可能导致此错误的事情有任何其他建议吗?谢谢!
最佳答案
看起来您在类(class)名称末尾添加了句点:
java -cp . HelloWorld.
改为这样做
java -cp . HelloWorld
关于java - 找不到主类java错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17773357/