运行java程序时出错

时间:2011-04-21 08:16:46

标签: java

我在java中运行的每个程序都会产生类似的错误。

这是一个helloworld计划:

Exception in thread "main" java.lang.NoClassDefFoundError: helloworld (wrong nam
e: helloworldapp)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(Unknown Source)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$000(Unknown Source)
        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: helloworld.  Program will exit.

3 个答案:

答案 0 :(得分:4)

类文件helloworld.class包含一个名为helloworldapp.class的类。我能想到的唯一真正原因是您手动重命名了.class文件。

那不行!必须在名为helloworldapp的{​​{1}}文件中找到名为.class的班级。

如果要更改类的名称,请重命名helloworldapp.class源文件,编辑.java定义并重新编译。

答案 1 :(得分:0)

如何启动Java程序?你正确地传递了论据吗?注意班级路径。如果你有helloworld.java文件并将其编译为helloworld.class,你应该像这样运行它(从类文件所在的同一目录中的命令提示符):

java -cp . helloworld

答案 2 :(得分:0)

试试这个:

public class HelloWorld 
{
  public static void main(String[] args) 
  {
    System.out.println("Hello World!");
  }
}

关于此问题,请阅读this tutorial