Classpath
spider
- java
Moin,
ich möchte gern ein Java Programm ausführen, dazu benutze ich folgenden Befehl:
"C:\Program Files\Java\jre1.5.0_11\bin\java.exe" -cp X:\source\Projekte\PHP com.myfiles.yyy.samples.pClient 'Parameterliste'
Die Datei pClient.class liegt im Verzeichnis X:\source\Projekte\PHP\com\myfiles\yyy\samples\
Führe ich obigen Befehl aus, so bekomme ich den Fehler "Exception in thread "main" java.lang.NoClassDefFoundError: com.myfiles.yyy.samples.pClient (wrong name: pClient)"
Könnte mir da jemand einen Tipp geben, wo da der Fehler liegt?
Vielen Dank schon mal im Voraus.
Gruß Spider
Hi spider!
Könnte mir da jemand einen Tipp geben, wo da der Fehler liegt?
Schlag mich, aber ich glaube in Java muss die Klasse, die die main-Funktion enthält, den gleichen Namen haben wie die Quelltextdatei.
MfG H☼psel
Schlag mich, aber ich glaube in Java muss die Klasse, die die main-Funktion enthält, den gleichen Namen haben wie die Quelltextdatei.
Wußte gar nicht, daß Prügel die Vorraussetzung für Antworten sind :)
Ich weiß nicht genau, ob ich das nun richtig verstehe, aber die Datei pClient.class enthält eine Klasse pClient, die die Main Methode enthält. Muß man das eventuell noch irgendwo eintragen, daß DIESE Main Methode DIE Main Methode ist?
Gruß Spider
Hi spider!
Schlag mich, aber ich glaube in Java muss die Klasse, die die main-Funktion enthält, den gleichen Namen haben wie die Quelltextdatei.
Wußte gar nicht, daß Prügel die Vorraussetzung für Antworten sind :)
Mach mich fertig, aber soweit ich weiß, haben sie die Forumregeln geändert.
Muß man das eventuell noch irgendwo eintragen, daß DIESE Main Methode DIE Main Methode ist?
Nö. Aber im gesamten Programm sollte trotzdem nur genau einmal "public static void main" vorhanden sein.
Bei deinem Problem könnten andere vielleicht helfen, wenn du ein wenig Quelltext postest bzw. verlinkst.
MfG H☼psel
Moin,
ich schließe den eigentlichen Quellcode mal ganz dreist aus. Er enthält nur diese eine Main Methode.
Wie der Titel schon sagt, vermute ich den Fehler eher im Classpath. Wenn ich den ganzen Krempel in Eclipse ausführe, gehts.
Hallo,
bitte gib nur eine eMail-Adresse an, die dir gehört (und existiert). Wenn
du keine angeben möchtest, dann gib keine an.
"C:\Program Files\Java\jre1.5.0_11\bin\java.exe" -cp X:\source\Projekte\PHP com.myfiles.yyy.samples.pClient 'Parameterliste'
Hier sehe ich nichts offensichtlich Falsches. Mmh...
Du könntest mal probeweise noch das aktuelle Verzeichnis in den Classpath
aufnehmen, also so:
-cp X:\source\Projekte\PHP;.
Ein abschließendes Backslash nach 'PHP' schadet sicherlich auch nicht.
Du schreibst, daß es in Eclipse funktionieren würde. Schau dir doch mal
die Kommando-Zeile an, mit der Eclipse das Programm aufruft.
Starte hierfür das Programm in Eclipse, entweder im Run- oder im
Debug-Modus. Das Programm darf ruhig weiter laufen, wenn du die
nächsten Schritte ausführt. Es geht aber auch, wenn es sich gleich
wieder beendet.
Öffne jetzt die Debug-Perspective, so daß du den Debug-View siehst.
(Das ist der View, in dem die gerade laufenden Programme und während
dem Debugging der Call-Stack angezeigt wird.)
Klicke mit der rechten Maustaste auf die letzte Zeile im Baum unterhalb
deiner Java-Applikation. Hast du die Anwendung nicht im Debug-Modus
gestartet, ist es die einzige Zeile. Sie beinhaltet in der Regel so
etwas wie "c:\programme\jdk1.5\bin\javaw.exe" oder dergleichen.
Wähle im Kontext-Menü "Properties" und schau dir das an, was unter
"Command Line" angezeigt wird.
Der hier angezeigte Text müßte ziemlich nah an dem sein, was du oben
angegeben hast.
Am besten du nimmst die ganze Zeile und probierst diese mal in der
Konsole aus.
Gruß
Slyh