Veröffentlicht 11. Januar 201312 j Hallo zusammen, Ich habe ein Java-Programm mit Eclipse Juno geschrieben und davon ein Runnable Jar File erstellt. Als ich das dann per Doppelklick öffnen wollte, tat sich nichts. Auch durch ausführen über die Kommandozeile ist es nicht möglich die Datei zu öffnen... Ich habe schonmal eine Runnable Jar Datei von einem Programm erstellt und das klappte. Ich habe auch schon gecheckt, ob ich etwas an den Einstellungen in Eclipse geändert habe. Ist aber nicht so. Falls jemand dazu eine Idee hat, wär das echt super!
11. Januar 201312 j Hast du eine manifest Datei mit der Hauptklasse deines Programms als Inhalt? Die Datei sollte in deinem Jar unter ./META-INF/ zu finden sein. Bearbeitet 11. Januar 201312 j von Tom87
12. Januar 201312 j Ich würde jetzt auch am liebsten einfach antworten "bei mir geht's aber". Läuft dein Programm aus Eclipse heraus? Hast du Abhängigkeiten von anderen Bibliotheken? Hast bei Abhängigkeiten von externen Bibliotheken auf 32 vs. 64 Bit geachtet? Wie hast du die jar-Datei erstellt? Wie sieht dein Aufruf in der Kommandozeile aus? Was gibe "java -version" aus und passt das zu deiner Zielversion? Welche Meldung kommt beim Start in der Kommandozeile? Und so weiter und so fort ...
16. Januar 201312 j Autor Sorry 1. Ja, mein Programm läuft aus Eclipse heraus 2. Aufruf CMD : javaw -jar 'Dateipfad'\programm.jar 3. Dann kommt folgende Fehlermeldung: exception in thread main java.lang.noclassdeffounderror 4. Ich habe die SWT-Library in Eclipse als Abhängigkeit (org.eclipse.swt.win32.x86_3.100.1.v4234e.jar) 5. Ich habe die .jar-Datei einfach über die Export-Funktion bei Eclipse erstellt Das ist nicht die erste .jar-datei die ich erstellt habe. Und sonst hat es immer funktioniert und ich habe nichts in den Einstellungen verändert. Von einem Projekt auf das andere funktioniert es auf einmal nicht mehr. jar-Dateien, die ich vorher erstellt habe, lassen sich auch weiterhin ganz normal öffnen.
16. Januar 201312 j Autor Außerdem sieht der Inhalt meiner manifest.mf folgendermaßen aus: Manifest-Version: 1.0 Rsrc-Class-Path: ./ org.eclipse.swt.win32.win32.x86_3.100.1.v4234e.jar Class-Path: . Rsrc-Main-Class: start Main-Class: org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
16. Januar 201312 j In der JAR-Datei befindet sich auch die Datei? org\eclipse\jdt\internal\jarinjarloader\JarRsrcLoa.class > exception in thread main java.lang.noclassdeffounderror Das ist unvollständig. Welche Klasse vermisst er denn? Versuch mal deinen Kommandozeilenaufruf aus dem Verzeichnis der jar-Datei heraus, so dass du keinerlei Pfad-Angaben machen musst. Ggf. findet des sonst die externe jar-Datei nicht. Zudem ist es nie eine schlechte Idee, den Pfad der externen jar-Datei per Kommandozeile zu übergeben (-cpMeineJar.jar). Deine anderen Projekte, die funktionieren: arbeiten die auch mit SWT? Kannst du einen Unterschied in der Manifest-Datei finden?
16. Januar 201312 j Autor Vielen Dank für die Hilfe! Es funktioniert - und wie so oft beim programmieren habe ich keine Ahnung warum... . Wirklich etwas verändert habe ich noch nicht.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.