Wie kann man eine Java-JAR-Datei zu einer einzigen ausführbaren Datei machen?

2669
AlikElzin-kilaka

Ich habe eine Jar-Datei mit einer Hauptklasse darin. Die Hauptklasse ist bereits in der Manifestdatei konfiguriert, dh, die Jar kann folgendermaßen ausgeführt werden:

java -jar Main.jar 

Ich möchte es ausführbar machen, dh es muss auf die folgende Weise ausgeführt werden, ohne dass Parameter angegeben werden müssen. Windows:

Main.cmd 

oder Linux:

Main.sh 

Wie kann ich die Dose in eine ausführbare Datei packen?

1
Es gibt eine Antwort für Linux. Irgendeine Idee, wie man einen Java-Jar in eine ausführbare Datei für Windows packt? AlikElzin-kilaka vor 9 Jahren 0
Ehrlich gesagt, wie schwer ist es, das Netz nach "jar to exe" zu durchsuchen? Es gibt eine Reihe von Lösungen. Karan vor 9 Jahren 0
@karan großartig, dann wird es leicht sein, die Frage zu beantworten. AlikElzin-kilaka vor 9 Jahren 0
Bestimmt. Sie können Ihre vorhandene Antwort bearbeiten und hinzufügen und dann selbst akzeptieren. Karan vor 9 Jahren 0
@Karan Und dir den Kredit verweigern? N / a ;-) AlikElzin-kilaka vor 9 Jahren 0
Es ist in Ordnung, Sie sind herzlich willkommen. :) Bei aller Ernsthaftigkeit wäre jedoch eine einzige kanonische Antwort besser, da Sie nach verschiedenen Betriebssystemen gefragt haben. Wenn eine Antwort nicht beide Aspekte abdeckt, wäre sie nicht vollständig. Karan vor 9 Jahren 1
Verwandte Themen: http://stackoverflow.com/questions/147181/how-can-i-convert-my-java-program-to-an-exe-file AlikElzin-kilaka vor 9 Jahren 0

1 Antwort auf die Frage

1
AlikElzin-kilaka

Für Linux gibt es eine Möglichkeit: Packen Sie das jar in eine bash-Datei. Schritte:

1- Erstellen Sie einen Stub:

MYSELF=`which "$0" 2>/dev/null` [ $? -gt 0 -a -f "$0" ] && MYSELF="./$0" exec java -jar $MYSELF "$@" exit $? 

2- Verketten Sie den Stub und das Jar in eine neue ausführbare Datei:

cat stub.sh Main.jar > main.sh 

3- Machen Sie die neue Datei ausführbar:

chmod +x main.sh 

Das ist es! Quelle: https://coderwall.com/p/ssuaxa/how-to-make-a-jar-file-linux-executable

Sie können Shell-Emulatoren verwenden, um das Shell-Skript auch unter Windows auszuführen. Beispiel eines solchen Emulators: GitBash und Cygwin. AlikElzin-kilaka vor 9 Jahren 0