584 Stimmen

Wie kann ich mein Java-Programm in eine .exe-Datei umwandeln?

Wie kann ich eine Java-Quelldatei (*.java) oder eine Klassendatei (*.class) in eine .exe-Datei umwandeln?

Ich brauche auch ein Installationsprogramm für mein Programm.

378voto

Jay Punkte 40418

javapackager

Das Java Packager-Tool kompiliert, verpackt und bereitet Java- und JavaFX-Anwendungen für die Verteilung vor. Der Befehl javapackager ist die Befehlszeilenversion.

- Die Dokumentation von Oracle

Le site javapackager wird mit dem JDK ausgeliefert. Es kann .exe-Dateien mit der Option -native exe Flagge, neben vielen anderen Dingen.

WinRun4J

WinRun4j ist ein Java-Startprogramm für Windows. Es ist eine Alternative zu javaw.exe und bietet die folgenden Vorteile:

  • Verwendet eine INI-Datei zur Angabe von Klassenpfad, Hauptklasse, vm args, program args.
  • Benutzerdefinierter Name der ausführbaren Datei, der im Task-Manager angezeigt wird.
  • Zusätzliche JVM-Args für eine flexiblere Speichernutzung.
  • Eingebauter Icon Replacer für benutzerdefinierte Icons.
  • [weitere Aufzählungspunkte folgen]

- WinRun4J's Webseite

WinRun4J ist ein Open-Source-Dienstprogramm. Es hat viele Merkmale.

packr

Packt Ihr JAR, Ihre Assets und eine JVM für die Verteilung auf Windows, Linux und Mac OS X und fügt eine native ausführbare Datei hinzu, damit es wie eine native Anwendung aussieht. Packr ist am besten für GUI-Anwendungen geeignet.

- packr README

packr ist ein weiteres Open-Source-Tool.

JSmooth

JSmooth ist ein Java Executable Wrapper. Er erstellt native Windows-Startprogramme (Standard-.exe) für Ihre Java-Anwendungen. Es macht die Java-Bereitstellung viel reibungsloser und benutzerfreundlicher, da es in der Lage ist, jede installierte Java VM selbst zu finden.

- Die Website von JSmooth

JSmooth ist quelloffen und verfügt über Funktionen, aber es ist sehr alt. Die letzte Version stammt aus dem Jahr 2007.

JexePack

JexePack ist ein Kommandozeilen-Tool (ideal für automatisiertes Skripting), mit dem Sie Ihre Java-Anwendung (Klassendateien), optional zusammen mit ihren Ressourcen (wie GIF/JPG/TXT/etc), in eine einzige komprimiert 32-Bit-Windows-EXE, die unter Verwendung der Java-Laufzeitumgebung von Sun ausgeführt wird. Es werden sowohl Konsolen- als auch Fensteranwendungen unterstützt.

- Website von JexePack

JexePack ist Trialware. Für den produktiven Einsatz ist eine Zahlung erforderlich, und mit diesem Tool erstellte Exe-Dateien zeigen ohne Zahlung "Mahnungen" an. Außerdem war die letzte Version 2013.

InstallAnywhere

InstallAnywhere macht es Entwicklern leicht, professionelle Installationssoftware für jede Plattform zu erstellen. Mit InstallAnywhere können Sie sich schnell an Branchenveränderungen anpassen, schneller auf den Markt kommen und Ihren Kunden ein ansprechendes Erlebnis bieten. Und Sie kennen die Anfälligkeit der OSS-Komponenten Ihres Projekts, bevor Sie sie ausliefern.

- Die Website von InstallAnywhere

InstallAnywhere ist ein kommerzielles/Unternehmenspaket, das Installationsprogramme für Java-basierte Programme erzeugt. Es ist wahrscheinlich in der Lage, .exe-Dateien zu erstellen.

Ausführbare JAR-Dateien

Als Alternative zu .exe-Dateien können Sie eine JAR-Datei erstellen, die bei einem Doppelklick automatisch ausgeführt wird, indem Sie Hinzufügen eines Einstiegspunktes zum JAR-Manifest .


Für weitere Informationen

Eine ausgezeichnete Informationsquelle zu diesem Thema ist der Artikel von Excelsior " Java in EXE konvertieren - Warum, wann, wann nicht und wie ".

Siehe auch den begleitenden Artikel " Beste JAR zu EXE Konvertierungstools, kostenlos und kommerziell ".

123voto

the.duckman Punkte 6326

Start4j

Launch4j ist ein plattformübergreifendes Tool zum Verpacken von Java-Anwendungen, die als Jars verteilt werden, in leichtgewichtige, native Windows-Executables. Die ausführbare Datei kann so konfiguriert werden, dass sie nach einer bestimmten JRE-Version sucht oder eine gebündelte Version verwendet, und es ist möglich, Laufzeitoptionen wie die anfängliche/maximale Heap-Größe festzulegen. Der Wrapper bietet auch eine bessere Benutzerfreundlichkeit durch ein Anwendungssymbol, einen nativen Splash-Screen vor der JRE, einen benutzerdefinierten Prozessnamen und eine Java-Download-Seite für den Fall, dass die passende JRE nicht gefunden wird.

- Die Website von Launch4j

41voto

coobird Punkte 155882

UPDATE : GCJ ist tot. Er war offiziell entfernt aus dem GCC-Projekt im Jahr 2016. Schon davor war es sieben Jahre lang praktisch aufgegeben worden, und in jedem Fall war es war nie ausreichend vollständig als brauchbare alternative Java-Implementierung zu dienen.

Suchen Sie sich einen anderen Java-AOT-Compiler.

GCJ: Der GNU-Compiler für Java kann Java-Quellcode in nativen Maschinencode kompilieren, einschließlich ausführbarer Windows-Dateien.

Obwohl nicht alles in Java unter GCJ unterstützt wird, insbesondere die GUI-Komponenten (siehe Welche Java-APIs werden unterstützt? Wie vollständig ist die Unterstützung? Frage aus dem FAQ ). Ich habe GCJ nicht viel benutzt, aber von den begrenzten Tests, die ich mit Konsolenanwendungen gemacht habe, scheint es in Ordnung zu sein.

Ein Nachteil der Verwendung von GCJ zur Erstellung einer eigenständigen ausführbaren Datei ist, dass die Größe der resultierenden EXE-Datei recht groß sein kann. Einmal habe ich eine triviale Konsolenanwendung in GCJ kompiliert und das Ergebnis war eine ausführbare Datei von etwa 1 MB. (Vielleicht gibt es Möglichkeiten, dieses Problem zu umgehen, die ich nicht kenne. Eine andere Möglichkeit wären Programme zur Komprimierung von ausführbaren Dateien).

Was die Open-Source-Installationsprogramme betrifft, so ist die Skriptfähiges Nullsoft-Installationssystem ist ein skriptfähiges Installationsprogramm. Wenn Sie neugierig sind, gibt es von Benutzern beigetragene Beispiele wie man das Vorhandensein einer JRE erkennt und sie automatisch installiert, wenn die erforderliche JRE nicht installiert ist. (Nur damit Sie es wissen, ich habe NSIS noch nie benutzt.)

Weitere Informationen zur Verwendung von NSIS für die Installation von Java-Anwendungen finden Sie unter meine Antwort für die Frage " Wie lassen sich Java-Anwendungen am besten verbreiten? "

28voto

Sie können eine Batch-Datei mit dem folgenden Code erstellen:

start javaw -jar JarFile.jar

und konvertieren Sie die .bat-Datei mit einem beliebigen .bat-zu.exe-Konverter in eine .exe-Datei.

20voto

Stroboskop Punkte 4228

Wir verwenden Install4J um Installationsprogramme für Windows- oder Unix-Umgebungen zu erstellen.

Es ist leicht anpassbar, bis zu dem Punkt, an dem Sie Skripte für spezielle Aktionen schreiben wollen, die nicht mit Standarddialogen durchgeführt werden können. Aber auch wenn wir Windows-Dienste damit einrichten, verwenden wir nur Standardkomponenten.

  • Installationsprogramm + Startprogramm
  • Windows oder Unix
  • skriptfähig in Java
  • Ameisenaufgabe
  • viele anpassbare Standardpanels und Aktionen
  • schließt optional eine JRE ein oder lädt sie herunter
  • kann auch Windows-Dienste starten
  • mehrere Sprachen

Ich glaube, Launch4J ist von der gleichen Firma (nur der Launcher - kein Installationsprogramm).

PS: Leider werde ich für diese Empfehlung nicht bezahlt. Ich mag dieses Werkzeug einfach.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X