java - 找不到主类java错误

标签 java unix

我在处理一个有点复杂的程序时遇到了找不到主类错误的问题。为了消除可能出现的问题,我决定尝试一个 hello world 程序,看看是否可以让它工作。我正在使用一台服务器,我非常确定该服务器正在运行 Red Hat Enterprise 6。我按照 Bart Kiers 在回答 this question 中提供的步骤进行操作。 :

  1. 创建一个名为HelloWorld.java的文件;
  2. 粘贴下面发布的代码
  3. 在HelloWorld.java内部:通过执行命令javac来编译它 HelloWorld.java 与 HelloWorld.java 位于同一文件夹中;
  4. 通过执行以下操作来执行代码: 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/

相关文章:

Java 访问器/修改器 -> 属性名称

Java 套接字问题

java - 在带有 Play 框架 2.1.x 的 Eclipse 中使用多个项目

linux - 向上移动目录中的所有文件

linux - 在 Bash 中模拟一个微调器以取得进步

c - 从 C 获取/设置逻辑工作目录

java - ByteArray 到intentService 中的byte[]?

java - 如何从依赖的 jar 中找到本地资源?

c - 现代 Unix 工具是用什么编程语言编写的?

c++ - UNIX/OSX 版本的 semtimedop