Wie erstelle ich ein Windows-Installationsprogramm für eine Java-JAR-Datei?
Ich möchte ein Windows-Installationsprogramm für meine JAR-Datei erstellen. Ich möchte jre / jdk nicht auf dem Zielcomputer installieren müssen, auf dem ich bereitstellen möchte.
Ich habe jpackage (Teil von Java 14) ausprobiert und es hat bei mir nicht funktioniert. Ich habe den folgenden Befehl ausprobiert:
jpackage --input target/ --name my_pkg --main-jar NtbnsProj.jar --main-class myJFrame --type exe --java-options '--enable-preview'
Es generiert eine my_pkg-1.0.exe, aber ich kann sie nicht zum Laufen bringen.
An diesem Punkt bin ich bereit, auch Tools von Drittanbietern auszuprobieren. Ich habe install4j ohne Erfolg ausprobiert. Eine andere Website, die ich gefunden habe, soll install4j mit Inno Setup Compiler verwenden. Das war komplizierter und hat auch nicht funktioniert. Ich dachte, vielleicht könnte WiX Toolset funktionieren.
Wenn jemand Schritt für Schritt Anweisungen geben könnte, insbesondere wenn die Lösung install4j umfasst, da es viele verschiedene Schritte gibt, in denen Sie etwas verpassen können. Ich habe eine neuere Version von install4j verwendet, die nicht zu den Online-Tutorials und -Videos passte. Die Menüauswahl hat sich erheblich geändert. Vielleicht muss ich eine ältere Version von install4j verwenden.
Siehe meinen verwandten Artikel: Wie packe ich eine Java-JAR-Datei, um sie auf einem Mac ohne installierte JRE auszuführen?
Antworten
Überprüfen Sie, ob Ihre App direkt ausgeführt wird, und beheben Sie dann alle Probleme, bevor Sie fortfahren:
java -cp NtbnsProj.jar myJFrame
Es sieht so aus, als hätte jpackage
es funktioniert und Ihr Installationsprogramm generiert my_pkg-1.0.exe
. Wenn Sie ausführen, my_pkg-1.0.exe
überprüfen Sie, ob Sie diese Datei haben, und führen Sie sie dann aus:
C:\Program Files\my_pkg\my_pkg.exe
Wenn dies fehlschlägt, führen Sie jpackage mit zusätzlichen Argumenten erneut aus --win-console --app-version 1.1
. Dies wird my_pkg-1.1.exe
bei aktivierter Konsole generiert . Bei einer Neuinstallation und Ausführung wird C:\Program Files\my_pkg\my_pkg.exe
möglicherweise eine nützliche Fehlermeldung angezeigt, die angibt, was Ihr eigentliches Problem ist.
Wenn Sie nicht --app-version
jedes Mal ein Upgrade durchführen , aktualisiert Windows die vorhandene Version 1.0 NICHT, oder Sie müssen die Installation deinstallieren, bevor Sie eine Neuerstellung derselben Version erneut anwenden my_pkg-1.0.exe
. Es läuft und stoppt ohne Vorwarnung.
In diesem Beitrag erfahren Sie, wie Sie App-Ver automatisch einstellen.
Ich habe es zum Laufen gebracht! @DuncG war sehr hilfreich bei der Beantwortung meiner Frage. Ich hatte eine Reihe zusätzlicher Dateien in dem Verzeichnis, in dem sich die JAR-Datei befand, also habe ich gerade ein neues Verzeichnis erstellt und nur NtbnsProj.jar darin abgelegt. Ich habe dann den folgenden Befehl ausgeführt:jpackage --name Test --input . --main-jar NtbnsProj.jar