# exe erstellen



## Don83 (24. Apr 2012)

Hallo,
ich habe ein paar Programme geschrieben. Über Eclipse bzw. Kommandozeile kann man das ganze ausführen. Würde jetzt aber gerne eine exe Datei(oder sonstigeS) draus machen so das die Programme über einen Doppelklick gestartet werden. Gibt es hierzu irgendwelche passenen Vorgehensschema, bzw. kennt jemand irgendwelche Tutorials wo soetwas beschrieben wird?


----------



## Final_Striker (24. Apr 2012)

http://www.java-forum.org/spezialthemen/18384-6-varianten-java-programme-starten-jar-bat-exe-cd.html


----------



## XHelp (24. Apr 2012)

Steht alles in der FAQ


----------



## irgendjemand (24. Apr 2012)

warum willst du extra n EXE wrapper nehmen ?
es reicht doch alles in ein JAR zu packen ... *und natürlich drauf achten das JAR mit java verknüpft ist*


----------



## MarderFahrer (25. Apr 2012)

irgendjemand hat gesagt.:


> warum willst du extra n EXE wrapper nehmen ?



1. Weil jar Dateien in erster Linie "nur" Archive sind und in vielen Fällen somit mit einem Packprogramm assoziert sind und nicht mit der Java Laufzeitumgebung
2. Weil man exe wrapper mit einem eigenen Icon versehen kann und sich die start jar somit wunderbar von den evtl. jar libraries unterscheidet
3. Weil man dem wrapper noch andere start Parameter mitgeben kann, die man ansonsten nur über eine blöde batch Datei zum Start eines Jars realisieren könnte

Das wären meine 3 wichtigsten Gründe. Es sieht einfach besser aus als wenn man da nur jar Dateien im Ordner hat und man das ganze über ein hässliches batch file starten kann. Für mich sieht das einfach nicht gut aus und hat etwas halb gares. So als würde man eine Applikation mit GUI starten aber man nutzt "java" anstelle von "javaw" und behält das Konsolen Fenster auf dem Bildschirm.


----------



## irgendjemand (25. Apr 2012)

es ging bei meinem post lediglich darum das es in der regel reicht ein JAR zu erstellen ...
ich hab ja auch nichts gegen einen EXE-wrapper ... und soweit ich das mitbekommen habe ist zumindest die Oracle VM selbst unter unix in der lage bei start über console das exe-file korrekt als gewrapptes JAR zu erkennen und dann halt normal starten kann ... wie es da mit OpenJDK und IcedTea aussieht weis ich nicht ...


----------



## L-ectron-X (25. Apr 2012)

Mein persönlicher Favorit ist JeStart von Xenoage. Das ist kein Wrapper, sondern nur ein Starter. Die Jar-Datei muss also vor dem Start nicht erst wieder aus der Hülle geholt werden.


----------



## GUI-Programmer (25. Apr 2012)

Mein persönlicher Favorit ist NSIS, was ebenfalls kein Wrapper sondern ein Starter ist. Allerdings muss man dabei sich den Startskript halt selbst schreiben, wodurch man allerdings auch vieles anpassen kann, unteranderen die Admin Rechte, welche für Installationen meist gebraucht werden. Einfach den Skript aus Installationsassistent anpassen, und fertig. Z.B. genügen bei einer normalen Anwenwendung auch normale Rechte, also: 
	
	
	
	





```
RequestExecutionLevel user
```


----------



## irgendjemand (25. Apr 2012)

gut ... wenn wir schon dabei sind : ich persönlich bin freund von Launch4J ...
es gibt hierbei zwei möglichkeiten

1) launcher : die "exe" läuft völlig unabhänig vom JAR und startet dieses halt nur ... nachteil : man muss bereits bei erstellung angeben wo später das JAR relativ zur EXE liegt ...
2) wraper : ich weist nicht wie ihr wraper versteht ... aber Launch4J stellt dem JAR lediglich einen EXE heder vorran ... das JAR selbst bleibt völlig unangetastet und kann via console sogar direkt gestartet werden ala : "java -jar launch.exe" ... vorteil : kein lästiges suchen wo die eigenliche JAR ist und *wie gesagt* sogar unter unix immer noch via terminal ausführbar ...

natürlich auch die beliebten spielerein wie : custom-icon , custom-manifest *UAC* , angabe der mindest java-version *sogar bis aufs update genau* , etc pp ...

was ich auch erwähnen möchte , selbst aber noch nicht genutzt habe ist jSmooth ...
mit diesem sollen sogar auch Windows-Dienste möglich sein ...
leider wird dieses projekt seit jahren nicht mehr weiterentwickelt und kompatibilität zu aktuellen OS ist fragwürdig ...


----------

