Frage

Wenn ich eine Java-Quelldatei (* .java) oder eine Klassendatei (* .class), wie kann ich es in eine EXE-Datei umwandeln?

Ich brauche auch ein Installationsprogramm für mein Programm.

War es hilfreich?

Lösung

javapackager

  

Das Java-Tool Packager erstellt, Pakete und bereitet Java und JavaFX-Anwendungen für den Vertrieb. Der javapackager Befehl ist die Befehlszeilenversion.

     

- Oracle Dokumentation

Die javapackager Dienstprogramm wird mit dem JDK. Es kann EXE-Dateien mit der -native exe Flagge, unter vielen anderen Dingen erzeugen.

WinRun4j

  

WinRun4j ist ein Java-Launcher für Windows. Es ist eine Alternative zu Javaw.exe und bietet folgende Vorteile:

     
      
  • Verwendet eine INI-Datei zur Angabe Classpath, Hauptklasse, vm args, Programm args.
  •   
  • Benutzerdefinierte Namen der ausführbaren Datei, die im Task-Manager angezeigt wird.
  •   
  • Zusätzliche JVM args für flexiblere Speichernutzung.
  •   
  • Einbau-Symbol replacer für benutzerdefiniertes Symbol.
  •   
  • [mehr Aufzählungszeichen folgen]
  •   
     

- WinRun4j Homepage

WinRun4j ist ein Open-Source-Programm. Es hat viele Funktionen.

packr

  

Pakete Ihre JAR, Vermögen und eine JVM für die Verteilung auf Windows, Linux und Mac OS X, eine native ausführbare Datei hinzufügen, um es wie eine native App erscheinen. Packr ist bestens geeignet für Anwendungen mit grafischer Benutzeroberfläche.

     

- packr README

packr ist ein weiteres Open-Source-Tool.

JSmooth

  

JSmooth ist ein Java-Executable Wrapper. Es schafft native Windows Werfer (Standard EXE) für Ihre Java-Anwendungen. Es macht Java Deployment viel glatter und benutzerfreundlich, da es in der Lage ist, für sich allein alle installierten Java VM zu finden.

     

- JSmooth Webseite

JSmooth ist Open Source und verfügt über Funktionen, aber es ist sehr alt. Die letzte Veröffentlichung war im Jahr 2007.

JexePack

  

JexePack ist ein Kommandozeilen-Tool (ideal für automatisiertes Scripting), die Sie Ihre Java-Anwendung (Klassendateien) verpacken kann, gegebenenfalls zusammen mit seinen Ressourcen (wie GIF / JPG / TXT / etc) , in einen einzelnen Druck 32-Bit-Windows-EXE, die von Sun Java Runtime Environment läuft unter. Beide Konsole und fensterbasierte Anwendungen werden unterstützt.

     

- JexePack Webseite

JexePack ist Demo-Produkte. Die Zahlung erfolgt für den produktiven Einsatz erforderlich ist, und EXE-Dateien mit diesem Tool erstellt zeigt „Erinnerungen“ ohne Bezahlung. Außerdem war die letzte Veröffentlichung im Jahr 2013.

InstallAnywhere

  

InstallAnywhere macht es einfach für Entwickler für jede Plattform professionelle Installationssoftware zu erstellen. Mit InstallAnywhere, werden Sie schnell auf Veränderungen in der Branche anzupassen, erhalten schneller auf den Markt und liefern eine Eingriffskundenerfahrung. Und wissen die Verwundbarkeit Ihres Projekts OSS-Komponenten, bevor Sie Schiff.

     

- InstallAnywhere Webseite

InstallAnywhere ist ein kommerzielles / Enterprise-Paket, das Installateure für Java-basierte Programme erzeugt. Es ist wahrscheinlich die Lage zu schaffen EXE-Dateien.

Ausführbare JAR-Dateien

Als Alternative Dateien zu .exe, können Sie eine JAR-Datei erstellen, die automatisch ausgeführt wird, wenn doppelt geklickt, von Hinzufügen eines Einstiegspunkt in das JAR Manifest .


Weitere Informationen

Eine ausgezeichnete Quelle von Informationen zu diesem Thema ist Excelsior Artikel „ konvertieren Javazu EXE -. Warum, Wann, wenn nicht und wie

Siehe auch die Begleiter Artikel " Best JAR zu EXE Conversion Tool, Freier und kommerziellen ".

Andere Tipps

launch4j

  

launch4j ist ein plattformübergreifende Tool zum Einwickeln von Java-Anwendungen wie Gläser in leichten nativen Windows ausführbaren Dateien verteilt. Die ausführbare Datei kann so konfiguriert werden, für eine bestimmte JRE-Version zu suchen oder ein gebündeltes eines verwenden, und es ist möglich, Laufzeitoptionen einstellen, wie die anfängliche / max Heap-Größe. Der Wrapper bietet auch eine bessere Benutzererfahrung durch ein Anwendungssymbol, ein gebürtigen Pre-JRE Splash-Screen, ein benutzerdefinierten Prozessnamen und eine Java-Download-Seite, falls die entsprechende JRE nicht gefunden werden kann.

     

- launch4j Webseite

  

UPDATE: GCJ ist tot. Es war offiziell von dem GCC-Projekt im Jahr 2016. Schon vorher entfernt , es wurde praktisch aufgegeben sieben Jahre, und in jedem Fall es nie vollständig genug war als brauchbare Alternative Java-Implementierung zu dienen.

     

Gehen Sie eine andere Java AOT-Compiler finden.

GCJ: Die GNU Compiler für Java kann Java-Quellcode in nativen Maschinencode kompiliert, einschließlich Windows ausführbaren Dateien.

Auch wenn nicht alles in Java unter GCJ unterstützt, vor allem der GUI-Komponenten (siehe Was Java API unterstützt? Wie vollständig ist die Unterstützung? Frage aus dem FAQ ). Ich habe GCJ nicht viel verwendet, aber aus dem begrenzten Test ich mit Konsolenanwendungen gemacht habe, scheint es in Ordnung.

Ein Nachteil GCJ die Verwendung eine eigenständige ausführbare Datei zu erstellen ist, dass die Größe der resultierenden EXE ziemlich groß sein kann. Einmal habe ich eine triviale Konsolenanwendung in GCJ zusammengestellt und das Ergebnis war eine ausführbare Datei über 1 MB. (Es kann Möglichkeiten, um dieses, dass ich bin mir nicht bewusst. Eine andere Möglichkeit ausführbare Komprimierprogrammen sein würde.)

Im Hinblick auf den Open-Source-Installateure, die Nullsoft Scriptable Install System ein skript Installer ist. Wenn Sie neugierig sind, gibt es Benutzer beigetragen Beispiele , wie das Vorhandensein eines JRE zu erkennen und installieren sie es automatisch, wenn die erforderliche JRE nicht installiert ist. (Nur, damit Sie wissen, ich habe NSIS nicht vor verwendet.)

Für weitere Informationen über NSIS für Java-Anwendungen zu installieren, nehmen Sie bitte einen Blick auf meine Antwort für die Frage " Was ist der beste Weg, Java-Anwendungen zu verteilen? "

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

start javaw -jar JarFile.jar

und wandelt die .bat zu einer Exe jeden .bat mit Konverter .exe.

Wir verwenden Install4j Installateure für Windows oder Unix zu bauen Umgebungen.

Es ist leicht anpassbar bis zu dem Punkt, wo Sie wollen Skripte für spezielle Aktionen schreiben, die mit Standard-Dialogen werden nicht gemacht. Aber auch wenn wir Windows-Dienste sind die Einrichtung mit ihm, sind wir nur mit Standardkomponenten.

  • Installer + Launcher
  • Windows oder Unix
  • skript in Java
  • Ant-Task
  • viele anpassbare Standardplatten und Aktionen
  • optional enthält oder lädt ein JRE
  • können auch Windows-Dienste starten
  • mehr Sprachen

Ich denke, launch4j von der gleichen Firma ist (nur das Launcher - kein Installationsprogramm).

PS: leider bin ich nicht für diese Bestätigung bezahlt. Ich mag einfach dieses Werkzeug.

Die aktuelle Java Web Start wurde erweitert, als auch guten Offline-Betrieb zu ermöglichen, als erlaubt „local Installation". Es lohnt sich, in.

EDIT 2018: Java Web Start nicht mehr mit dem neuesten JDK gebündelt. Oracle wird „vor Ort mit einem geschlossenen JRE Bereitstellung Ihrer App“ -Modell statt auf eine drücken.

Wenn Sie Ihre gesamte Anwendung nativen Code zu konvertieren, dh eine EXE und DLLs, gibt es Excelsior JET . Ich fand es gut funktioniert und bot eine Alternative JRE gebündelt werden.

JSmooth scheint eine ziemlich gute Arbeit zu tun.

würde ich sagen, launch4j ist das beste Werkzeug, um einen Java-Quellcode für die Umwandlung von (.java) Datei .exe Sie können sogar eine jre damit für den Vertrieb bündeln und die exe auch iconified werden kann. Obwohl die Größe der Anwendung zunimmt, macht es sicher, dass die Anwendung funktioniert perfekt, auch wenn der Benutzer kein jre installiert ist. Es stellt auch sicher, dass Sie die spezifische jre für Ihre Anwendung erforderlich zur Verfügung stellen können, ohne den Benutzer separat zu installieren. Aber leider, java verliert seine Bedeutung. Die Multi-Plattform-Unterstützung wird total ignoriert und die letzte App ist nur für Windows unterstützt. Aber das ist keine große Sache, wenn Sie nur für Windows-Benutzer sind Catering.

Sie können mit Janel . Diese letzten Arbeiten als Anwendungs-Launcher oder Service Launcher (erhältlich von 4.x).

Alternativ können Sie auch eine Reihe von Java-to-c Übersetzer verwenden (zB JCGO ) und kompiliert die generierten C-Dateien in einer nativen binären (.exe) für die Zielplattform-Datei.

Ich kann vergeben werden ein Java-Programm in eine EXE-Anwendung ist gegen die Umwandlung und ich habe meine Gründe. die Major eines Wesen, dass ein Java-Programm kann aus einer Menge von IDE auf eine JAR-Datei kompiliert werden. Wenn das Programm in .jar-Format ist, kann es in mehreren Plattformen läuft im Gegensatz zu .exe, die in sehr begrenzten Umwelt nur laufen würde. Ich bin für die Idee, dass Java-Programme shoudl nicht zu Exe umgewandelt werden, wenn es sehr neccesary ist. Man kann immer schreiben .bat-Dateien, die das Java-Programm ausgeführt wird, während es eine JAR-Datei ist.

wenn es wirklich neccesary es zu konvertieren exe, Jar2Exe Konverter leise tut das, und man kann auch Bibliotheken anschließen, die zusammen mit der Hauptanwendung kompiliert werden.

Sie können jar konvertieren exe mit Jar2Exe . Allerdings müssen Sie die Software erwerben. Wenn Sie eine Open-Source-Software benötigen, würde ich vorschlagen, JSmooth .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top