PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [Java] Programm startet aus der IDE aber nicht aus der CMD


EGG-Beater
2009-08-21, 17:12:48
Hallo,

ich mach grad meine ersten Versuche mit AWT/Swing und stoß gleich auf ein Problem, für das ich keine Erklärung habe.

package grafik1;
import javax.swing.*;

public class FrameOhneInhaltSwing {

public static void main(String[] args) {
JFrame fenster = new JFrame();
fenster.setTitle("Mein erstes Swing-Fenster");
fenster.setSize(300,150);
fenster.setVisible(true);
fenster.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}

Das ist der Code aus dem Tutorial, das ich nutze. Übersetzen lässt er sich problemlos und aus der IDE (Eclipse) heraus lässt sich das Programm auch starten, das Fenster erscheint.

Wenn ich allerdings versuche, das Programm mit der CMD zu starten, geht das nicht.

C:\Dokumente und Einstellungen\Username\...\bin\grafik1>java FrameOhneInhaltSwing
Exception in thread "main" java.lang.NoClassDefFoundError: FrameOhneInhaltSwing
(wrong name: grafik1/FrameOhneInhaltSwing)
at java.lang.ClassLoader.defineClass1(Native Method)
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)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: FrameOhneInhaltSwing. Program will exit.

Mit der AWT-Version des Programms tritt der gleiche Fehler auf. Laut dem Buch sollte es aber funktionieren.

Woran liegt es?

EGG-Beater
2009-08-21, 17:45:20
Ok, Problem hat sich geklärt. Es lag an der Package-Verwendung. Wenn man in der Ordnerhirarchie eins nach oben steigt und dann per Punkt-Operator darauf zugreift, funktioniert es.

Also: java grafik1.FrameOhneInhaltSwing

Das kommt davon, wenn man ständig nur in Eclipse rumspielt, und dann nach Monaten mal versucht, die Kommandozeile zu benutzen. ;)