Zum Inhalt springen

ausführbare jar datei


ShamaN

Empfohlene Beiträge

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 von ShamaN
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von ShamaN
Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von ShamaN
Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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"

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?!

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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 von ShamaN
Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

wo ich gerade nen thema offen hab, ich hab noch nen völlig anderes problem ^^

pfui, sowas macht man nicht :D

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.

Link zu diesem Kommentar
Auf anderen Seiten teilen

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?

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...