Veröffentlicht 12. März 200916 j obwohl es sich hunderte seiten von google darüber finden lassen schaffe ich es mit deren hilfe nicht so eine verdammte datei zu erstellen... also wenn ich über export-> runable jar file eine solche datei erstellen möchte dann kommt der fehler: jar creation failed. see details for additional information. die details sind: "unable to open zip file unable to open zip file" wenn ich jetz über export-> jar file es versuche, zudem die manifest.txt einbinde: "Manifest-Version: 1.0 Main-Class: asdf.main" asdf ist das package, main die klasse zum starten mit abschließendem zeilenumbruch bekomme ich beim starten einen fehler. ich rufe meine jar datei mit der folgenden verknüpfung auf: C:\WINDOWS\system32\java.exe -jar "C:\Dokumente und Einstellungen\asd\workspace\Datenbank-Vorgang\run.jar" der Fehler lautet: "unable to access jar file" und dann der pfad wenn ich die manifest.txt auf main.asdf statt asdf.main ändere, dann erscheint die meldung: "Failed to load Main-Class manifest attribute from" und dann der pfad Bearbeitet 12. März 200916 j von ShamaN
12. März 200916 j also wenn ich über export-> runable jar file eine solche datei erstellen möchte dann kommt der fehler: jar creation failed. see details for additional information. die details sind: "unable to open zip file unable to open zip file" Wo "export"? Bitte genauer beschreiben. Du kannst über "jar cf" die jar-Datei aus der Konsole erstellen, mache es zuerst via Konsole Phil
12. März 200916 j mit rechtsklick auf das projekt->export kannst du mir des mit der konsole genauer erklären? ich hab jar cmf Manifest.txt run.jar bin\asdf im Verzeichnis des Projektes angegeben und es wird mir gesagt dass der befehl jar nicht gefunden werden konnte Bearbeitet 12. März 200916 j von ShamaN
12. März 200916 j jetzt funktioniert der jar befehl, allerdings kommt beim starten: Exception in thread "main" java.lang.NoClassDefFoundError: asdf/main Caused by: java.lang.ClassNotFoundException: asdf.main at java.netURLClassLoad$1.run<Unknown Source> at java.security.AccessController.doPrivileged<Native Method> at java.net.URLClassLoader.findClass<Unknown Source> at java.lang.ClassLoader.loadClass<Unknown Source> at sun.mist.Launcher$AppClassLoader.loadClass<Unknown Source> at java.lang.ClassLoader.loadClass<Unknown Source> at. java.lang.ClassLoader.loadClassInternal<Unknown Source> mit dem befehl werden allerdings die ganzen eingebundenen jar dateien auch nicht mit in die neue datei einbezogen... Bearbeitet 12. März 200916 j von ShamaN
12. März 200916 j mit rechtsklick auf das projekt->export Um das zu verstehen, wäre ja mal allgemein interessant welches Programm du dafür benutzt.
12. März 200916 j mit rechtsklick auf das projekt->export Sorry, aber wäre es zu viel verlangt, wenn Du die IDE nennst mit der Du arbeitest und nicht irgendwelche Aktionen nennst, die Du durchführst! Ich benutze XCode unter OSX und erzeuge meine Jars via Konsole. ich hab jar cmf Manifest.txt run.jar bin\asdf im Verzeichnis des Projektes angegeben und es wird mir gesagt dass der befehl jar nicht gefunden werden konnte Dann solltest Du Deine Pfadumgebungsvariable prüfen und ggf. ergänzen Zur Info: Java Archive ? Wikipedia Nimm einmal Deine erzeugte Datei, ändere den Datei Typ in Zip und entpacke sie. Schau dann in die Manifestdatei und überprüfe, ob der Aufruf zu Deiner Startklasse inkl Package korrekt ist Phil
12. März 200916 j meien jar datei enthält den ordner bin, mit dem unterordner asdf, in der sind meine 14 klassen gelistet, inklusive main.class. Außerdem enthält sie noch META-INF mit der der Datei MANIFEST.MF, welche die folgendes enthält: "Manifest-Version: 1.0 Created-By: 1.6.0_12 (Sun Microsystems Inc.) Main-Class: asdf.main"
12. März 200916 j mit dem befehl werden allerdings die ganzen eingebundenen jar dateien auch nicht mit in die neue datei einbezogen... Ja, das macht Eclipse. Übrigens hab ich spaßeshalber auch mal nen Test bei 2 Projekten von mir gemacht. Bei einem großen mit diversen externen LIBs kommt dieselbe Fehlermeldung. Bei einem kleinen Testprojekt gehts wie erwartet. Ich hab dann die JAR vom großen Projekt mal angeguckt (ist ja auch nur ne ZIP-Datei). Konnte aber keinen Fehler finden?!
12. März 200916 j meien jar datei enthält den ordner bin, mit dem unterordner asdf, in der sind meine 14 klassen gelistet, inklusive main.class. Außerdem enthält sie noch META-INF mit der der Datei MANIFEST.MF, welche die folgendes enthält: "Manifest-Version: 1.0 Created-By: 1.6.0_12 (Sun Microsystems Inc.) Main-Class: asdf.main" Das kann sowieso nicht gehen! Denn, wenn das korrekt ist, dass in der JAR-Datei der Pfad zur Main-Class /bin/asdf/Main.class ist, dann ist in der Manifest das Main-Class falsch oder Du setzt in der Manifest Class-Path: bin Beispiel, wenn kein bin Ordner: Manifest-Version: 1.0 Class-Path: . Main-Class: asdf.Main Beispiel mit bin Ordner: Manifest-Version: 1.0 Class-Path: bin Main-Class: asdf.Main Vielleicht ist es das ja schon.
12. März 200916 j ok, danke, das programm funktioniert nun, aber die eingebundenen JAR´s wie mysql-connector-java-5.1.7-bin.jar, iText-2.1.5.jar, iText-rtf-2.1.5.jar und iText-rups-2.1.5.jar tun jetzt nichmehr, wie verweis ich denn jetz auf die? die liegen im selben ordner wie meine jar.
12. März 200916 j und wie? ^^ Manifest-Version: 1.0 Created-By: 1.6.0_12 (Sun Microsystems Inc.) Class-Path: . .iText-2.1.5.jar .iText-rtf-2.1.5.jar .iText-rups-2.1.5.jar .mysql-connector-java-5.1.7/mysql-connector-java-5.1.7-bin.jar Main-Class: asdf.main ...? Bearbeitet 12. März 200916 j von ShamaN
12. März 200916 j ah, jetz hab ich´s Class-Path: . .\iText-2.1.5.jar .\iText-rtf-2.1.5.jar .\iText-rups-2.1.5.jar .\mysql-connector-java-5.1.7/mysql-connector-java-5.1.7-bin.jar wo ich gerade nen thema offen hab, ich hab noch nen völlig anderes problem ^^ ich lese ein JTextArea mit automatischem zeilenumbruch aus und speichere es in eine textdatei, dabei entstehen kleine eckige zeichen bzw. manchmal auch leerzeilen, die wohl einer enter-taste entsprechen. Das ganze ist dann beim zeilenweisen auslesen recht hinderlich, kann ich diese formatierungen beim schreiben entfernen?
12. März 200916 j wo ich gerade nen thema offen hab, ich hab noch nen völlig anderes problem ^^ pfui, sowas macht man nicht ich lese ein JTextArea mit automatischem zeilenumbruch aus und speichere es in eine textdatei, dabei entstehen kleine eckige zeichen bzw. manchmal auch leerzeilen, die wohl einer enter-taste entsprechen. Das ganze ist dann beim zeilenweisen auslesen recht hinderlich, kann ich diese formatierungen beim schreiben entfernen? Mach einen neuen Thread auf und poste den code, wie du das speicherst. Ich vermute Du speicherst Deinen string.getBytes() direkt in die Datei. Für sowas gibts zum Beispiel Codierungen. Siehe das package New-IO.
13. März 200916 j Soo, auf mein Windows läuft das Programm mit der jar wunderbar, aber auf einem Mac gibts Probleme. Es wirft beim Verbinden mit einer MySql Datenbank eine ClassNotFoundException aus mit dem Inhalt "com.mysql.jdbc.Driver". Wieso funktioniert das auf einem Mac nicht?
13. März 200916 j Wieso funktioniert das auf einem Mac nicht? Weil er die Klasse nicht findet, du musst sie in Classpath aufnehmen Phil
13. März 200916 j Wenn es unter Windows funktioniert, dann stimmt der Classpath dort. Wir wissen nicht, welche Bibliotheken bei Dir auf welchem System in welchem Classpath sind. Wenn es nicht funktioniert, ist der Hinweis von flashpixx der einzig Richtige. Peter
13. März 200916 j Der Classpath ist eine Umgebungsvariable des jeweiligen Systems, der bei jedem System unterschiedlich sein kann. Das "java" Kommando enthält aber auch den Parameter "-cp", womit der Classpath per Hand gesetzt werden kann. "-cp" überschreibt und ergänzt nicht die Umgebungsvariable, d.h. bei "-cp" muss auch der Pfad zu den von Sun mitgelieferten Bibliotheken gesetzt werden Phil
13. März 200916 j ah ok, ich hatte bachslashes anstatt slashes benutzt, dass das jetzt mit slashes auch unter windows funktioniert ist normal?
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.