ich habe mit eclipse eine Programm erstellt und funktioniert auch wunderbar. Habe nun das Programm bzw. das ganze Projekt als jar-File exportiert. Wenn ich nun mit Doppelklick versuche es zu starten kommt ein Fehler ("Failed to load Main-Class mainfest attibute from ..."). Ok an sich is starten per doppelklick ja nur ein schmackerl was ich nicht unbedingt benötige, viel wichtiger wäre es diese Datei auch per Konsole zu starten, allerdings wenn ich in der Eingabeaufforderung versuche das jar-file auszuführen, kommt:
Exception in thread "main" java.lang.NoClassDefFoundError: <dateiname>/jar
ich habe in meinem projekt eine externe bibliothek eingebunden.
ich habe das file auch mal in eine exe gewandelt. versuche ich diese auszuführen kommt folgender fehler:
muss ich die bibliothek irgendwie beim exportieren mit einbinden oder wie bekomme ich das zum laufen? scheint ja an der externen bibliothek zu liegen.
ich hoffe mir kann einer helfen.
1. schau mal ins jar, ob die Manifest-Datei drin ist und dort wiederum, ob die richtige Main-Klasse drin steht.
2. die externe Library musst du einbinden, entweder über den classpath (Aufruf java -cp pfad/meinelib.jar meinjar.jar), oder über den Library-Path (java -Djava.library.path=pfad)
also ich habe mich gerade mal an dem jar-file probiert, aber irgendwie komm ich damit überhaupt nicht kla, auch diverse beschreibungen zum inkludieren der fremden bibliothek und aufbau des manifest konnten mich dort nicht weiter bringen, ich hoffe mir kann jemand sagen was ich zu tun.
meine vorhandenen dateien:
setRecording.jar, postgresql-8.2dev-500.jdbc3.jar und MANIFEST.MF (allerdings leer). es ist nur eine Klasse enthalten: "Set.class" in dem package "recording". So nun meine Frage: Was muss in die MANIFEST.MF rein und wie bringe ich das alles zusammen?
und ich habe folgenden befehl versucht um die dateien miteinander zu verknüpfen:
Code:
jar -ufvm setRecording.jar MANIFEST.MF -C postgresql//
dazu hatte ich die postgresql....jar entpackt und dann den ordner rauskopiert, der alle *class dateien enthält.
als fehlermeldung habe ich keine bekommen, wurde halt immer die möglichen parameter für den befehl jar bekommen, also muss irgendwie eine syntax-fehler im befehl sein
[/quote]