Comment créer un programme d'installation Windows pour un fichier java jar?
Je souhaite créer un programme d'installation Windows pour mon fichier jar. Je ne veux pas avoir à installer jre / jdk sur l'ordinateur cible sur lequel je souhaite effectuer le déploiement.
J'ai essayé jpackage (qui fait partie de Java 14) et cela n'a pas fonctionné pour moi. J'ai essayé la commande suivante:
jpackage --input target/ --name my_pkg --main-jar NtbnsProj.jar --main-class myJFrame --type exe --java-options '--enable-preview'
Il génère un my_pkg-1.0.exe, mais je ne peux pas le faire fonctionner.
À ce stade, je suis prêt à essayer même des outils tiers. J'ai essayé install4j sans succès. Un autre site Web que j'ai trouvé a dit d'utiliser install4j avec Inno Setup Compiler. C'était plus compliqué et cela ne fonctionnait pas non plus. J'ai pensé que WiX Toolset pourrait fonctionner.
Si quelqu'un pouvait fournir des instructions étape par étape, surtout si la solution implique install4j, car il existe de nombreuses étapes différentes où vous pouvez manquer quelque chose. J'utilisais une version plus récente de install4j et elle ne correspondait pas aux didacticiels et vidéos en ligne. Les sélections de menu ont considérablement changé. Peut-être que j'ai besoin d'utiliser une ancienne version de install4j.
Voir mon article connexe: Comment puis-je empaqueter un fichier java jar pour qu'il s'exécute sur un Mac sans JRE installé?
Réponses
Vérifiez que votre application s'exécute directement, puis résolvez les problèmes avant de continuer:
java -cp NtbnsProj.jar myJFrame
Il semble que cela jpackage
a fonctionné et a généré votre programme d'installation my_pkg-1.0.exe
. Lorsque vous exécutez, my_pkg-1.0.exe
vérifiez que vous avez ce fichier, puis exécutez-le:
C:\Program Files\my_pkg\my_pkg.exe
Si cela échoue, réexécutez jpackage avec des arguments supplémentaires --win-console --app-version 1.1
, cela générera my_pkg-1.1.exe
avec la console activée. La réinstallation et l'exécution C:\Program Files\my_pkg\my_pkg.exe
peuvent signaler un message d'erreur utile indiquant quel est votre problème réel.
Si vous ne mettez pas à niveau le à --app-version
chaque fois, Windows ne mettra PAS à jour la version 1.0 existante, ou vous devez désinstaller avant de réappliquer une reconstruction de la même version my_pkg-1.0.exe
. Il fonctionne et s'arrête sans vous avertir.
Consultez cet article pour savoir comment configurer automatiquement l'application-ver.
Je l'ai fait fonctionner! @DuncG a été très utile pour répondre à ma question. J'avais un tas de fichiers supplémentaires dans le répertoire où se trouvait le fichier jar, donc je viens de créer un nouveau répertoire et n'y mettre que NtbnsProj.jar. J'ai ensuite exécuté la commande suivante:jpackage --name Test --input . --main-jar NtbnsProj.jar