2011-04-17 117 views
0

我使用javac helloswing.java进行编译,但无法使用java swingtutorial.helloswing运行,因为它在线程主NoClassDefFoundError中表示异常。找不到主类为什么我无法运行我的hello swing应用程序?

我只是将类路径添加到c:... \ rt.jar,但仍然是java -cp。 swingtutorial.helloswing找不到主要原因?

package swingtutorial; 

import javax.swing.JFrame; 
import javax.swing.SwingUtilities; 

public class helloswing extends JFrame { 

    public helloswing() { 
     setTitle("Hello Swing"); 
     setSize(300, 200); 
     setLocationRelativeTo(null); 
     setDefaultCloseOperation(EXIT_ON_CLOSE); 
    } 

    public static void main(String[] args) { 
     SwingUtilities.invokeLater(new Runnable() { 
      public void run() { 
       helloswing ex = new helloswing(); 
       ex.setVisible(true); 
      } 
     }); 
    } 
} 
+0

类名应该是'EachWordUpperCase'。所以这个类名应该是'HelloSwing'。 – 2011-04-17 19:35:18

回答

1

您需要指定类路径。与

javac swingtutorial\helloswing.java 
java -cp . swingtutorial.helloswing 
+0

java -cp。 swingtutorial.helloswing它现在说它找不到主 – user310291 2011-04-17 17:39:16

+0

我已经更新了我的答案。类文件的位置很重要。此外,类路径指向您的类文件所在的根目录也很重要。 – 2011-04-17 18:04:34

+0

Mucho gracias它现在的作品:) – user310291 2011-04-17 18:27:23

1

您可能需要使用类的全名:

java swingtutorial.helloswing 
+0

我现在试过了,它在线程主NoClassDefFoundError中说异常。找不到主类 – user310291 2011-04-17 17:36:06

1

您将需要运行

java swingtutorial.helloswing -cp [classpath] 

由于包swingtutorial,你需要指定以班级的名义运行。

+0

[classpath]是什么意思? – user310291 2011-04-17 17:39:57

+0

好吧,我添加了rt.jar到类路径,但仍然无法找到主 – user310291 2011-04-17 18:05:31

+0

classpath是您的编译类的位置。你不需要明确地添加rt.jar - java.exe为你做。 – mdma 2011-04-17 19:02:07

相关问题