[Java] jar-Datei erstellen

Tam

I am from Austria
ID: 264199
L
26 November 2006
90
7
wie kann man in java eine *.exe-Datei erstellen? oder halt eine datei, die man nur mit doppelklick öffnen braucht, damit das programmierte programm läuft.

edit: ich arbeite mit eclipse, falls das auch wichtig ist
 
Zuletzt bearbeitet:
also bei nem richtig eingerichteten PC sollten die *.jar Files mit der VM von Java verknüpft sein. Leute die das ändern, wissen in der Regel was sie machen.

Ansonsten könnt ich mir denken, dass der "javac" für dich interessant ist ... bin aber nicht wirklich vertraut mit Java.
 
Du kannst deine Java Dateien in eine .jar (mit Manifest) packen. Das lässt sich in Eclipse über Datei --> Exportieren --> Java --> JAR-Datei machen. Die -jar Datei kann man dann ja schon per Doppelklick starten, wenn eine JRE installiert ist. Wenn es eine exe sein muss, schau dir das mal an: https://www.olison.com/sites/exe.php

oder du benutzt das hier:

https://jstart32.sourceforge.net/
(Habe ich aber noch nie ausprobiert)

Gruß Micha
 
Also in Java kann man direkt keine Exe-Files erzeugen, da eine exe nicht auf allen Betriebssystemen laufen und gerade das ja einer der Hauptgründe ist.
Es gibt aber 2 Möglichkeiten aus einer jar eine exe zu machen:
1. Mittels eines wrappers wird eine jar-datei in eine exe "reingepackt" und die exe start die jar-datei, die in der exe drinnesteckt. (Java-Wrapper)
2. Mittels eins Compilers übersetzt du den Java-Code direkt in Maschinencode, wie eine exe, und es läuft nun auch ohne eine Java VM (Native Compiler)
 
ich mein eh *.jar files, wusste nur nicht wie die in java heißen.
kenn das nur von C/C++ dass die schon fix und fertig im ordner liegt :|

Du kannst deine Java Dateien in eine .jar (mit Manifest) packen. Das lässt sich in Eclipse über Datei --> Exportieren --> Java --> JAR-Datei machen.

das hab ich gemacht, hab die jar-datei mit "JAVA(TM) 2 Platform Standard Edition binary" geöffnet, und dann kam ein fester vom Java Virtual Machine Launcher:
Failed to load Main-Class manifest attribute from
<<Pfadangabe der jar-Datei>>

was ist überhaupt ein manifest ...?
 
du musst in Eclipse beim erstellen der .jar-Datei noch angeben, dass er das Manifest mit erstellen und exportieren soll. ansonsten erstellt er nur eine jar ohne Manifest, bzw. leerem.
das Manifest ist ein Inhaltsverzeichnis (.jar's sind nur zip gepackte Dateien!!) mit Angabe, welche die zu startende Klasse ist, und glaub noch einigen Optionen hinsichtlich Ordnerstruktur.
 
wo kann ich einstellen dass er das manifest auch erstellt und exportiert?

btw: alles englisch bei mir ;)
 
hm, ich hab das Eclipse nicht zur Hand, alles auf'm alten Rechner.. aber ich glaub das müsste im Build-Bereich sein. oder du suchst im Bereich der .jar Erstellung. da gibts bestimmt ;-) nen Wizard für :)
 
btw: alles englisch bei mir ;)
Besorg dir doch die deutsche Version. Lässt sich meiner Meinung nach besser mit arbeiten. ;)

wo kann ich einstellen dass er das manifest auch erstellt und exportiert?

Beim Erstellen der jar Datei kannst du in Eclipse irgendwann (nach einigen Klicks auf "Weiter") angeben, dass eine Manifestdatei generiert wird. Bei mir kommt dann dieses Fenster:



Eclipse Version 3.2.0

Denke, das wird bei den Vorgängerversionen nicht viel anders sein?

MfG Micha
 
hat mir erstmal sehr geholfen :)

aber, es is so dass ich ein memory programmiert hab, und die bilder gehn irgendwie nicht mit...
ich hab über Import... alle bilder dem projekt hinzugefügt, und auch beim manifest angegeben die ins jar-file zu packen, aber die bilder zeigt er nicht an wenn ich das jar dann aufrufe....

jo, und ein anderes problem hab ich dann auch noch:
wenn ich das jar-file aufrufe, und dann wieder schließe, läuft der prozess immer noch weiter. was kann ich machen, damit auch der prozess beendet wird, wenn ich das zumache?
gibts da vlt irgend ne methode oder so die ich im code einfügen kann?
man muss es ja nicht unbedingt mit dem X zumachen können...

edit: für dieses problem hab ich bereits ne lösung

ps: wegen der deutschen version:
1) wo is die zu finden?
2) is das wieder 120 mb groß oder kann man sich da n sprachpaket runterladen?
 
Zuletzt bearbeitet:
naja, die deutsche Version ist auch fertig auf
www.eclipse.de
zu finden
wegen den Bildern: was kommt für eine Fehlermeldung? kann Bilder nicht finden?
öffne doch einfach mal mit einen Entpacker die .jar-Datei und schau, ob die Bilder da drinn sind. und guck auch nach, ob die Pfadangaben stimmen.
 
ich hab die jar-datei mit Winzip geöffnet, und da sind die bilder drin. nicht der pfad sondern wirklich die bilder.
und fehlermeldung kommt gar keine, er zeigt einfach nur die leeren buttons an
 
hm, lass doch mal von deinen Java-Programm alle Dateien in dem Verzeichnis auflisten, in dem die Bilder liegen sollen...
ich glaub der sucht die Bilder nicht in der .jar Datei (bzw. deren struktur), sondern in dem verzeichnis selbst, bin mir da aber unsicher..
 
hab jz das jar-file in den ordner geschoben, wo das projekt von memory drin is, und jetz zeigt er die bilder an. er nimmt also wirklich die bilder von auswärts....

aber wie kann ich das jz machen dass er die bilder nimmt die im jar sind?
 
hm, ich hab meine damals glaub auch extra geliefert :-(
die derzeit einzige Möglichkeit, die ich sehe ist folgende:
1. mittels java.util.zip.JarFile Jar-Dateiöffnen
2. mittels JarFile.entries() (falls alle) oder JarFile.getJarEntry(dateiname) Bild auswählen
3. mittels JarFile.getInputStream(jarEntry) Dateiöffnen
4. den InputStream in externe Datei schreiben
5. externe Datei öffnen
also ich find das unsinnig aufwendig...
 
jo, wenns halt nicht anders geht dann gehst nicht anders...
vlt versuch ichs ja mal, jz in nächster zeit hab ich weniger lust dazu....

trotzdem danke für den tipp ;)