Jarfiles packen, wie geht's genau?

Lambda

Mitglied
Ich hab's erfolgreich geschafft, mein Java-Programm in ein jarfile zu packen. Es funktioniert wunderbar, wenn ich es über die Konsole mit java -jar MeinProgramm.jar starte. Das Problem ist nun, dass ein Doppelklick oder in der Konsole MeinProgramm.jar zu einer Beschwerde seitens java führt, die Main-Klasse würde nicht gefunden. Sie steht ja aber im manifest file, sonst würde es mit dem langen Aufruf ja nicht klappen.

Ich glaub, ich hab hier was übersehen, aber ich komm einfach nicht drauf. ???:L
 
Leerzeile am Ende der Manifest-Datei?
FAQ gelesen?

Leerzeile ist da. Ich bin die FAQs durchgegangen, konnte aber nix finden, was ich falsch gemacht haben könnte.
Hier meine Vorgehensweise:

Manifest-file:

Manifest-Version: 1.0
Main-Class: Main
Class-Path: lib1.jar lib2.jar
<leerzeile>

Aufruf:

jar cmf manifest meinArchiv.jar *

(Ja, das manifest-file heißt manifest 😉)

Wie gesagt, in der Konsole funktioniert's, aber der Doppelklick wirft eine Fehlermeldung.
 
Die Datei heißt manifest.mf und müsste im Meta-inf Verzeichnis in deiner jar liegen.

Ist dem so?

Wie lautet der Vollständige Name der Main inclusive Paketnamen.
 
Um nochmals deinen Startpost auseinander zu reissen:


Das klingt für mich danach, dass mit Hilfe von [c]%PATH%[/c] eine andere [c]java.exe[/c] gestartet wird, als bei einem Doppelklick. Oder aber dass die Parameter nicht stimmen. Eigentlich sollte bei einem Doppelklick [c]java.exe -jar $*[/c] (ggf. auch javaw.exe) o.ä. aufgerufen werden. Was steht dort bei dir drin? Kann man (Win XP) AFAIK in Explorer -> Optionen -> Dateitypen o.ä. gefunden werden.

Edit: Quotes funktioneren nicht mehr!?
 
O je... hätt ich's doch bloß dabei belassen.

Ich stelle also fest, dass ich noch 'ne veraltete JRE-version installiert habe und schmeiß sie runter, stelle die Assoziation der jarfiles auf die neue version um. Mit dem Effekt, dass prompt alle jars den Dienst versagen und sich nur noch über die Konsole starten lassen. Neuinstallation hat's auch nicht gebracht.

WTF? Ich steh hier im Moment wirklich auf dem Schlauch.
 
Was steht in [c]%PATH%[/c], wo befinden sich deine Javainstallationen und mit was für einem Befehl (Programmstart) wird die Dateiendung .jar verbunden? Leider hab ich meine Glaskugel verloren 😉
 

Neue Themen


Zurück
Oben