ich habe wohl ein grundlegendes Problem beim erstellen von JAR Dateien auf meinem PC.
Selbst ein einfaches Hello World Programm kann ich nicht richtig Exportieren.
Windows zeigt jedes mal "Could not find main class" Fehler an.
Das erzeugen von JARs klappt weder per shell nocht aus Eclipse heraus richtig.
Hat jemand eine Idee worans liegen kann?
Vergisst du vielleicht, beim Eclipse-Jar-erstellen-Dialog, die Klasse herauszusuchen, in der die main()-Methode liegt?
Wenn du es auf der Shell machst, welchen Befehl verwendest du genau?
Syntax: jar {ctxui}[vfm0Me] [jar-Datei] [Manifest-Datei] [Einstiegspunkt] [-C Verzeichnis] Dateien ...
Optionen:
-c Neues Archiv erstellen
-t Inhaltsverzeichnis für Archiv auflisten
-x Genannte (oder alle) Dateien aus Archiv extrahieren
-u Vorhandenes Archiv aktualisieren
-v Ausf³hrliche Ausgabe für Standardausgabe erzeugen
-f Namen der Archivdatei angeben
-m Manifest-Information von angegebener Manifest-Datei einschliessen
-e Geben Sie einen Anwendungs-Einstiegspunkt für die in einer ausführbaren jar-Datei gebündelte eigenständige Anwendung an.
-0 Nur speichern (keine ZIP-Komprimierung)
-M Keine Manifest-Datei für die Einträge erstellen
-i Index-Information für angegebene jar-Dateien erstellen
-C Zum angegebenen Verzeichnis wechseln und folgende Datei einschliessen
Falls eine Datei ein Verzeichnis ist, wird es rekursiv verarbeitet.
Der Name der Manifest-Datei, der Name der Archivdatei und der Name des Einstiegspunkts werden
in derselben Reihenfolge wie die Flags 'm', 'f' und 'e' angegeben.
Beispiel 1: So archivieren Sie zwei Klassendateien in ein Archiv mit Namen classes.jar:
jar cvf classes.jar Foo.class Bar.class
Beispiel 2: Verwenden der vorhandenen Manifest-Datei 'mymanifest' und archivieren
aller Dateien im Verzeichnis foo/ in 'classes.jar':
jar cvfm classes.jar mymanifest -C foo/ .
Keine Ahnung, bei mir hat es mit Eclipse auf Anhieb funktioniert. Einfach nur das Projekt importiert, dann wieder als Jar exportiert… ???:L
Jar ist im Anhang.
Aber auf Kommandozeile geht es nicht mal mit Anleitung
javac -cp meinclasspath (Eingabe javac -cp .) führt zu einer Fehlermeldung Javac: no source file
-cp braucht es beim HelloWorld ja wohl kaum - oder? (Die Beschreibung ist also unvollständig)
Egal.
Javac HelloWorld.java -> class file ist da
java HelloWorld -> tut!
jar -cf HelloWorld.jar HelloWorld.class -> jar file ist da
java -jar HelloWorld -> die bekannte Fehlermeldung
Obwohl ausdrücklich steht das manifest sei optional -> Das stimmt nicht! Es braucht eines!
Mein Vorgehen war wie folgt:
- Rechtsklick auf Projektordner in Eclipse --> "Export..." --> "JAR file"
- Haken bei .classpath und src, Haken bei "Export generated class files and resources", "Export Java source files and resources", "compress contents" und "add directory entries"
- export destination festgelegt
- "Generate the manifest file" gewählt
- als Main class "Main" festgelegt
Das war's. Kenn mich mit den einzelnen Optionen auch nicht so super aus (hab z.B. keine Ahnung, was "add directory entries" macht), aber die Standardeinstellungen sind eigentlich schon ganz gut und es funktionierte *schulterzuck*
habe mir eclipse nochmal komplett neu runtergeladen und jetzt klappt es auch so wie es soll,
oder ich habe einen von den wichtigen Häkchen vergessen.
Danke auf jeden Fall!