Klasse in einem Package auf Kommandozeilenebene starten
-
Moin, Moin...
Ich habe zwei Klassen in einem Package. Die eine enthält die main()-Funktion und erzeugt eine Instanz der zweiten Klasse. Beide Klassen sind, wie bereits geschrieben, in einem Package enthalten.
Ich habe das Programm mit Eclipse entwickelt(unter Windows XP) und von dort läßt es sich starten.
Um das Programm nun auf der Kommandozeilenebene zu starten, möchte ich ein kleines Skript schreiben, um den CLASSPATH zu definieren und dann die VM mit der Startklasse aufzurufen.
Von welchem Verzeichnis aus muss eine Java-Anwendung, die in einem Package zusammengefasst ist, gestartet werden? Ich erhalte immer die Fehlermeldung:
Exception in thread "main" java.lang.NoClassDefFoundError: MeineApp (wrong name:
de/foo/meineapp/MeineApp)Mir ist überhaupt nicht klar, warum es zu der Fehlermeldung kommt.
Danke im voraus...
Ciao...
-
Im Klassenpfad das Verzeichnis angeben, in dem die Pakete liegen und dann mit quallifiziertem Namen aufrufen.
Z. B. so:java -cp "C:\Test" de.foo.meineapp.MeineApp
-
Hallo Felli,
danke für die Antwort. So funktioniert es.
Ciao...
@Moderator:
Könnte man das vielleicht in die Java-FAC aufnehmen?