为什么我会收到此错误?线程"main"中的异常java.lang.NoClassDefFoundError:"

0 java static program-entry-point args void

这是完整的错误消息:

Exception in thread "main" java.lang.NoClassDefFoundError: DataEntry/java
Caused by: java.lang.ClassNotFoundException: DataEntry.java
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

    import java.awt.*;
    import java.awt.event.*;

    public class DataEntry {
      public static void main(String[] args) {
      Frame frm=new Frame("DataEntry frame");
      Label lbl = new Label("Please fill this blank:");
      frm.add(lbl);
      frm.setSize(350,200);
      frm.setVisible(true);
      frm.addWindowListener(new WindowAdapter(){
      public void windowClosing(WindowEvent e){
      System.exit(0);
      }
      });
      Panel p = new Panel();
      Panel p1 = new Panel();
      Label jFirstName = new Label("First Name");
      TextField lFirstName = new TextField(20);
      Label jLastName =new Label("Last Name");
      TextField lLastName=new TextField(20);
      p.setLayout(new GridLayout(3,1));
      p.add(jFirstName);
      p.add(lFirstName);
      p.add(jLastName);
      p.add(lLastName);
      Button Submit=new Button("Submit");
      p.add(Submit);
      p1.add(p);
     frm.add(p1,BorderLayout.NORTH);
      }
Run Code Online (Sandbox Code Playgroud)

}

该文件保存为DataEntry.java,DataEntry.class文件位于同一目录中.有人可以告诉我我做错了什么吗?

rge*_*man 5

运行Java类时,不提供类的文件名,而是提供类名.如果你指定DataEntry.java,解释器会认为你正在尝试加载java包中的类DataEntry,这当然不存在.

而不是这个:

java DataEntry.java
Run Code Online (Sandbox Code Playgroud)

做这个:

java DataEntry
Run Code Online (Sandbox Code Playgroud)