Wenn Du das Jar-File als ausführbar haben willst, dann muss der Datei eine
Manifest-Datei "beigelegt" werden.
Die ManifestDatei ist nix anderes wie eine Textdatei. Enthalten sein muss mindestens ein Eintrag für die Klasse, die die main-Methode enthält.
Machen wir doch mal ein konkretes Beispiel
Zuerst setzen wir mal die Manifest-Version... das musst Du zwar nicht, aber ist ordentlicher:
Du hast im package
de.macrassi die Klasse
Loader in der die main-methode ist, dann lautet der Eintrag dafür im Manifest
Code:
Main-Class: de.macrassi.Loader
So, nun willst du noch eine Bibliothek einbinden, in der Klassen sind, die Du in einem Projekt nutzt. Diese Bibliothek heisst orginellerweise
Bibliothek.jar und liegt, weil du ordentlich bist, im Unterordner lib
Dafür sieht dann der eintrag so aus.
Code:
Class-Path: lib/Bibliothek.jar
Die komplette Datei würde dann also so aussehen:
Code:
Manifest-Version: 1.0
Main-Class: de.macrassi.Loader
Class-Path: lib/Bibliothek.jar
So.. und wie verwendest Du nun das ganze?
Du legst in deinem eclipse-Project ein Textfile mit dem Namen
Manifest an und füllst es mit den Einträgen (natürlich auf deine Anwendung angepasst!).. dann wählst Du wieder exportieren.
Ich glaube beim 4. Schritt (hab grad kein eclipse da) wirst du nach dem Manifest gefragt. Dort wählst Du dann, dass du ein vorhandenes benutzen willst und wählst das von dir erstellte. Wenn das jar-file dann gebaut ist (ist übrigens fast nix anderes wie ein zip) sollte es auch ausführbar sein.
Die Frage wegen dem
System.out. hatte folgenden Grund:
Wenn deine Anwendung keine graphische Oberfläche hat, sondern nur über System.out arbeitet, dann wirst du bei einem doppelklick auf die Datei nicht viel sehen, denn wohin soll die Ausgabe denn erfolgen? Fenster hast Du ja keines erstellt. Darum musst Du bei solchen Sachen mit dem Terminal arbeiten, da dort eine Ausgabe erfolgt.