JAR-Files ausführbar machen

Status
Nicht offen für weitere Antworten.

der Pate

Mitglied
wie sage ich dem rechner, welches die main-class ist, und was muss ich noch alles machen um eine jar-file ausführbar zu machen?
 

L-ectron-X

Gesperrter Benutzer
Um ein Jar-Archiv ausführbar zu machen, brauchst Du eine Datei namens Manifest.mf. In dieser wird letztendlich dem Interpreter die Main-Class bekannt gemacht.
Um ein ausführbares Jar-File zu erstellen, öffnest Du Dir mit einem Texteditor zunächst eine Datei und gibst ihr den Namen Manifest.txt. Der Inhalt dieser Textdatei kann lediglich aus folgendem Text bestehen:
Code:
CLASS-PATH: .
MAIN-CLASS: StartKlasse
Ganz wichtig dabei: Beide Zeilen sind mit einem Zeilenumbruch (Enter) abzuschließen. Und die Angabe der Main-Class erfolgt ohne die Dateiendung .class
Diese Datei legst Du in das Verzeichnis Deiner Quelltextdateien bzw. in das Verzeichnis Deiner Startklasse (Main-Class).
Fehlt nur noch der Aufruf des Dienstprogrammes Jar.
Ich persönlich habe mir dazu (das macht jeder anders) eine Batchdatei (MakeJar.bat ) angefertigt, die ich ganz bequem in jedes meiner Programmier-Projekt-Verzeichnisse kopieren, anpassen und immer schnell ohne viel Tipperei per Doppelklick ausführen kann:
Code:
rem Pfad zum bin-Verzeichnis des SDK setzen
set path=C:\j2sdk1.4.2_04\bin

rem Jar aufrufen
jar cfvm JarName.jar Manifest.txt *.*

rem Konsole für eventuelle Fehlermeldungen noch offen lassen
pause
Diese Batchdatei würde Dir den kompletten Inhalt (*.*) Deines Projekt Verzeichnisses inklusive aller Quelltext-Dateien, Grafiken und Unterverzeichnisse in einer ausführbaren Jar-Datei komprimiert abspeichern.
Die Manifest.txt ist deshalb eine .txt-Datei, weil sie sich so einfacher editieren lässt. (Doppelklick)
 

L-ectron-X

Gesperrter Benutzer
Klar, auch eine perfekte Möglichkeit. Aber weniger Leute wissen, wie man eine ausführbares Jar-Archiv "per Hand" erstellt, deshalb scheint dieses Thema auch öfter mal hier im Forum aufzutauchen.
Hm, vielleicht schreibe ich mal etwas Ausführlicheres in den FAQ-Bereich.
 
R

Roar

Gast
L-ectron-X hat gesagt.:
Klar, auch eine perfekte Möglichkeit. Aber weniger Leute wissen, wie man eine ausführbares Jar-Archiv "per Hand" erstellt, deshalb scheint dieses Thema auch öfter mal hier im Forum aufzutauchen.
Hm, vielleicht schreibe ich mal etwas Ausführlicheres in den FAQ-Bereich.

gute idee :toll:
@all: ich benutze immer den JarWizard ( www.sortamusic.com ). das ding ist ziemlich cool, und ist auch gut. ist halt ätzend wenn man zig-files in eine jar packen will und das alles in der konsole machen will :autsch:
 

der Pate

Mitglied
wenn ich das mit der .bat mache, macht der ne jar file. wenn ich die aber doppelt anklicke, dann kommt:

"Fatal Exception occured. Program will exit."

vom Java Virtual Machine Launcher
 
B

Beni

Gast
der Pate hat gesagt.:
wenn ich das mit der .bat mache, macht der ne jar file. wenn ich die aber doppelt anklicke, dann kommt:

"Fatal Exception occured. Program will exit."

vom Java Virtual Machine Launcher

Starte mal aus der Konsole "java -jar irgendetwas.jar". Dann sollte eine Fehlermeldung kommen, die vielleicht weiterhilft.
 

der Pate

Mitglied
habs jetzt mal mit nem anderen proggy probiert. da kommt beim doppelklick die gleiche fehlermeldung aber inner konsole kommt keine. beim anderen kam, dass er keine source für imageicon hätte. alles komisch
 

der Pate

Mitglied
mit nem 10-zeiler hab ichs jetzt hinbekommen, bei den anderen muß ich wohl auf fehlersuche gehen, also danke erst mal
 

L-ectron-X

Gesperrter Benutzer
Der beschriebene Fehler deutet darauf hin, dass benötigte Resourcen nicht bereit stehen. Also irgendwelche Grafiken, Klassen, Textdateien o.ä., die zur Laufzeit vom Programm geladen werden sollen.
In meinem Beispiel liegen alle Klassen in ein und dem selben Verzeichnis, alle Grafiken in einem Unterverzeichnis.
 

Oni

Top Contributor
Wenn ich das MakeJar.bat benutze bekomme ich die fehlermeldung. warum??

java.io.IOException: invalid manifest format
at java.util.jar.Manifest.read(Manifest.java:193)
at java.util.jar.Manifest.<init>(Manifest.java:52)
at sun.tools.jar.Main.run(Main.java:124)
at sun.tools.jar.Main.main(Main.java:904)
 

Oni

Top Contributor
Kann das nochmal einer schrittweise erklären wie ich aus einer meineClass.class ein jar mache.
Code:
CLASS-PATH: . 
MAIN-CLASS: meineClass.class
ist das so richtig als Mainfest.txt

Code:
jar  cfvm  meineJar.jar  Manifest.txt  meineClass.class
muss ich das dann so eingeben in die console?

und was sagt mir so eine fehlermeldung
Code:
java.io.IOException: invalid manifest format
        at java.util.jar.Manifest.read(Manifest.java:193)
        at java.util.jar.Manifest.<init>(Manifest.java:52)
        at sun.tools.jar.Main.run(Main.java:124)
        at sun.tools.jar.Main.main(Main.java:904)
 

Oni

Top Contributor
das hat jetzt funktioniert,

Code:
C:\Dokumente und Einstellungen\faerberm\Desktop\Java\Aktien Rechner\jar>jar -c
m Aktienrechner.jar Manifest.txt *.*
Manifest wurde hinzugef³gt.
Hinzuf³gen von: einsP.class(ein = 9864) (aus= 4256)(komprimiert 56 %)
Hinzuf³gen von: Manifest.txt(ein = 32) (aus= 32)(komprimiert 0 %)

aber dann bekomme ich die fehlermeldung von dem java virtual
maschine luncher
Code:
Failed to load Main-Class manifest attribute from

was heist das? ich habe eine andere *.jar auf dem rechner die kann ich öffnen warum die nicht?
 

Griffin

Bekanntes Mitglied
Ich hab folgendes gemacht:

Manifest:
Code:
CLASS-PATH: .
MAIN-CLASS: BandGen

Und hab nur eine class datei (BandGen ;) )
Trotzdem kommt ein Fehler von wegen Fatal...
 
R

Roar

Gast
Fatal exception occured... is was anderes als "Failed to load main class attribute".
1. am ende muss man noch in der manifest datei eine neue zeile machen ( falls nicht) udn dann startet mal euer programm über die konsole, da wird ein stacktrace geschrieben werden wenn eine exception geworfen wird
 

L-ectron-X

Gesperrter Benutzer
Oni hat gesagt.:
Code:
CLASS-PATH: . 
MAIN-CLASS: meineClass.class
Das Problem liegt in der 2. Zeile.
Es muss nur der Klassenname der Klasse angegeben werden, welche die main()-Methode enthält. Und zwar ohne die Dateiendung .class
 

Oni

Top Contributor
Das hatte ich ja schon vorher geändert.

Code:
CLASS-PATH: .
MANI-PATH: meineClass

es wird mir ja eine jar datei erstellt mit :
Code:
jar cfvm meinJar.jar Manifest.txt *.class

ich bekomme dann die datei meinJar.jar aber wenn ich da dann doppelklick drauf mache bekomme ich die meldung von JVM:

Code:
Failed to load Main-Class manifest attribute from bla bla bla
 

Oni

Top Contributor
ne hat leider auch nichts geholfen. muss ich vielleicht noch irgendwas in die jar packen ausser der manifest.txt und der xxx.class?
 

Oni

Top Contributor
lol, danke daran hat es gelegen :-D

Code:
CLASS-PATH: .
MAIN-CLASS: MeineClass
 
G

Guest

Gast
Code:
@echo off
echo Manifest-Version: 1.0>manifest.mf
echo Class-Path: .>>manifest.mf
echo Main-Class: package.of.my.MeineClass>>manifest.mf
jar -cfm myjar.jar manifest.mf *.class
erase manifest.mf
 

Tungdil

Mitglied
Hallo,

also ich hab das nun auch versucht (so wie es beschrieben war), nur leider sagt der mir in der Konsole immer
Der Befehl ist entweder fasch geschrieben oder konnte nicht gefunden werden.
Bitte überprüfen sie die Schreibweise und die Umgebungsvariable 'path'.

So sieht meine Manifest.txt aus:

Code:
CLASS-PATH: .
MAIN-CLASS: Dateinamen

So sieht meine MakeJar.bat aus:

Code:
set path=C:\Prog\Java\j2re1.4.1_03\bin

jar cfvm Filmliste.jar Manifest.txt *.class

pause

Wo is mein Fehler?
 

thE_29

Top Contributor
Ähm!

Warum ist da bitte der CLASS-PATH gesetzt??

Und falls du packages hast , musst du Package.bla.mainclass


Achja, probiers mal so schreiben:

Main-Class: package.main
<Enter>

Es dürfen nirgends zuviele Leerzeichen sein!!! (also hinterm main, zB)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Files öffnen Java Basics - Anfänger-Themen 17
M Files Java Basics - Anfänger-Themen 7
B jar files libraries Java Basics - Anfänger-Themen 2
A Files aufteilen Java Basics - Anfänger-Themen 4
A Java, verarbeitung eines xml-files Java Basics - Anfänger-Themen 2
Rakshan Running jar files, resulting in failure Java Basics - Anfänger-Themen 11
C Wo speichere ich die Jar-Files zu JGoodies FormLayout? Java Basics - Anfänger-Themen 4
F Input/Output Files von A nach B kopieren Java Basics - Anfänger-Themen 11
B Name von Verzeichnis bekommen - Files von einem Ordner auslesen Java Basics - Anfänger-Themen 4
J Kann man files in einer Klasse speichern. Java Basics - Anfänger-Themen 2
L Files verschieben in einen Ordner Java Basics - Anfänger-Themen 87
N Best Practice files[i].getAbsoluteFile() mit Sondezeichen im Vezeichnisnamen Java Basics - Anfänger-Themen 2
F ActionListener mit Files etc Java Basics - Anfänger-Themen 12
H Pfad Program Files\Common Files\Oracle\Java\javapath Java Basics - Anfänger-Themen 3
X Variablen Problem bei Aufteilung in verschiedene Class-Files Java Basics - Anfänger-Themen 4
T Input/Output Einlesen eines .txt Files nur bei gesetztem Breakpoint möglich Java Basics - Anfänger-Themen 1
M DBF-Files und Encoding Java Basics - Anfänger-Themen 4
X Finde die Files über FTP nicht Java Basics - Anfänger-Themen 4
U Properties außerhalb des war-Files Java Basics - Anfänger-Themen 1
N Lesen eines files mit FILES.lines Java Basics - Anfänger-Themen 11
D CSV Files richtig zusammenführen Java Basics - Anfänger-Themen 3
U Java logging generiert unerwünschten files Java Basics - Anfänger-Themen 1
C Klassen Class Files nachladen (mehrer .jar Dateien) Java Basics - Anfänger-Themen 2
S Ordnerstrukturen durchsuchen und Files bearbeiten Java Basics - Anfänger-Themen 6
G Existenz eines Files Java Basics - Anfänger-Themen 1
N Files außerhalb eines des jar-files einlesen mac Java Basics - Anfänger-Themen 10
O Files eines Directories innerhalb eines JAR-Files auflisten Java Basics - Anfänger-Themen 0
S Input/Output .txt-Files NEBEN .jar Java Basics - Anfänger-Themen 3
B Relativer Pfad zwischen zwei Files Java Basics - Anfänger-Themen 2
F Speicherlast mehrere GB durch kleine png files? Java Basics - Anfänger-Themen 1
C xsd validation with xsd files with dependencies ("schemalocation") Java Basics - Anfänger-Themen 1
B Fehlerhafte XML-Files verschieben Java Basics - Anfänger-Themen 6
R Rekursive Methode, Files finden Java Basics - Anfänger-Themen 2
Kenan89 XML-Files erstellen wirft File not found Exception Java Basics - Anfänger-Themen 9
B Files.copy wirft Exeption Java Basics - Anfänger-Themen 2
V java nio Files.copy Java Basics - Anfänger-Themen 10
C Automatisches Ausfuehren einer Funktion beim Laden eines Jar files Java Basics - Anfänger-Themen 3
A JDK installieren jar-Files ausführen Java Basics - Anfänger-Themen 12
A Datei relativ zur Lage des jar-files lesen Java Basics - Anfänger-Themen 16
L Methoden Files.walkFileTree implementation Java Basics - Anfänger-Themen 3
6 JDK installieren Runnable Jar Files ausführen?! Java Basics - Anfänger-Themen 8
G NetBeans Contains files with errors Java Basics - Anfänger-Themen 14
M Input/Output Namen der Files aus einem Ordner MIT bestimmten Encoding auslesen? Java Basics - Anfänger-Themen 3
H Jar Files verwenden Java Basics - Anfänger-Themen 9
J Wie auf eine Datei innerhalb des JAR-Files zugreifen Java Basics - Anfänger-Themen 2
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
G Inhalt Jar-Files anzeigen, incl. Methoden Java Basics - Anfänger-Themen 2
S Exception: Too many open files Java Basics - Anfänger-Themen 6
apple987123 JAR Files Funktionieren nicht Java Basics - Anfänger-Themen 6
B Files aus Verzeichnis zählen Java Basics - Anfänger-Themen 9
M Online-Java-Games offline spielen? / Jar-Files zum laufen bringen? Java Basics - Anfänger-Themen 6
E ResourceBundles in Jar-Files Java Basics - Anfänger-Themen 5
M Sha256-Wert eines Files bestimmen Java Basics - Anfänger-Themen 13
S Hilfe es werden keine class files erstellt Java Basics - Anfänger-Themen 5
Y Applet lokal executable machen, externe Files inkludieren Java Basics - Anfänger-Themen 8
S String repräsentation eines XML-Files für Textarea formatieren. Java Basics - Anfänger-Themen 2
J Anfänger-Frage zu jar-Files / Manifest.mf / Classpath Java Basics - Anfänger-Themen 16
B Verzeichnisse und Dateien in JAR Files Java Basics - Anfänger-Themen 7
S Kein Zugriff auf Files in Jar-Datei Java Basics - Anfänger-Themen 4
G Zusammenfassung mehrerer jar-Files Java Basics - Anfänger-Themen 3
B Erstellen von tar Files Java Basics - Anfänger-Themen 2
G Teil eines Files einlesen und vergleichen Java Basics - Anfänger-Themen 4
U Habe meine .class files gelöscht. Java Basics - Anfänger-Themen 3
T Jar: Zugriff auf Dateien inner- unter außerhalb d. jar-Files Java Basics - Anfänger-Themen 3
M java mehrere jar files uebergeben Java Basics - Anfänger-Themen 5
L Alle Files eines Directories einlesen Java Basics - Anfänger-Themen 6
T Png files nach auslesen von BMP ohne Inhalt Java Basics - Anfänger-Themen 2
V Sprache umschalten mit properties-files mit KSKB Java Basics - Anfänger-Themen 3
G Pfad des Jar-Files ermitteln bzw. wo Datenbank speichern Java Basics - Anfänger-Themen 4
D Files aus Directory lesen Java Basics - Anfänger-Themen 2
roflomfg Parameterübergabe in in "*.jar" files möglich? Java Basics - Anfänger-Themen 8
P Import jar files: Wohin? Java Basics - Anfänger-Themen 2
J Mit JDOM HTML Files erzeugen? Java Basics - Anfänger-Themen 7
M Path eines Files Java Basics - Anfänger-Themen 24
G tomcat und class files Java Basics - Anfänger-Themen 5
G class Files zu exe ---> decompilieren? Java Basics - Anfänger-Themen 2
M Files löschen - alle, ausser das größte! Java Basics - Anfänger-Themen 3
J Werte eines XML Files überschreiben Java Basics - Anfänger-Themen 7
B erweiterte jar files - verbinden Java Basics - Anfänger-Themen 4
P JFileChooser soll nur .txt files anzeigen Java Basics - Anfänger-Themen 5
D Files Readen und Substring Java Basics - Anfänger-Themen 5
M Properties ausserhalb von jar files Java Basics - Anfänger-Themen 3
J Drucken von files Java Basics - Anfänger-Themen 4
F Java-Programm in mehreren files Java Basics - Anfänger-Themen 6
B JFileChooser für Files and Directories Java Basics - Anfänger-Themen 3
M Audio Files mit Base64 De-/Endcodieren Java Basics - Anfänger-Themen 5
C letzte Zeilen eines Files auslesen Java Basics - Anfänger-Themen 3
A Einbindung von .wav files. Java Basics - Anfänger-Themen 8
F Hilfe beim erstellen von Jar files! Java Basics - Anfänger-Themen 2
M alle Files aus einem Verzeichnis finden Java Basics - Anfänger-Themen 15
A Existenz eines Files abfragen Java Basics - Anfänger-Themen 13
G speichern von files Java Basics - Anfänger-Themen 2
A Einige Fragen zu Files Java Basics - Anfänger-Themen 2
Z prob beim erstellen eines jar files mit eclipse Java Basics - Anfänger-Themen 4
K Programm compilierbar aber nicht ausführbar... Java Basics - Anfänger-Themen 21
M .jar nicht mehr ausführbar. Java Basics - Anfänger-Themen 5
D Java-Programme nur vom eigenem Pc ausführbar Java Basics - Anfänger-Themen 10
Traxx JDK installieren .java nur im Java\bin Verzeichnis ausführbar Java Basics - Anfänger-Themen 22
M Classpath Jar nicht ausführbar, Classpath warscheinlich falsch Java Basics - Anfänger-Themen 10
D jar datei nur über konsole ausführbar Java Basics - Anfänger-Themen 4

Ähnliche Java Themen

Neue Themen


Oben