Convertir un .jar en exécutable Windows
Cette recette propose une solution pour transformer une application Java (.jar) en exécutable Windows (.exe). L'application devra embarquer son environnement d'exécution Java (JRE) et sera empaquetée dans un programme d'installation.
Outils nécessaires
Pour cette recette, nous allons utiliser les applications suivantes :
-
Éclipse pour Java
Environnement de développement intégré pour Java ; je pars du principe que vous développez vos applications avec cet outil. Site officiel Éclipse
-
Launch4j
Outil multi-plateforme permettant d'encapsuler les applications Java dans des exécutables Windows natifs. Site officiel Launch4
Arborescence de fichiers
Il s'agit de commencer par imaginer une structure de répertoires pour stoker votre application. Voici celle que je vous propose, à adapter selon les besoins de votre application :
-
jar
Dans ce dossier (optionnel) sera stocké le jar exécutable de l'application.
-
jre6
Contient l'environnement d’exécution Java embarqué avec notre application. Typiquement, il s'agit d'un simple copier/coller d'un environnement d’exécution déjà présent dans votre dossier C:\Program Files\Java\
La première chose à faire est donc de créer cette structure de fichiers quelque part sur votre disque dur et de copier l'ensemble des fichiers de votre JRE courant dans le dossier jre\
Création de l'executable Java
Maintenant il nous faut une application Java fonctionnelle que nous allons exporter dans un fichier Jar exécutable.
Dans Éclipse : clic droit sur votre projet, choisir Exporter :
Dans la fenêtre de sélection du type d'export, choisir Java > Fichier JAR exécutable :
Dans la fenêtre des propriétés de l'export, choisissez la configuration de lancement, la destination de l'exportation, et sélectionnez Empaqueter les librairies requises dans le fichier JAR généré. Cliquez enfin sur le bouton "Terminer" pour créer votre fichier exécutable Java...
Création de l'executable Windows
Une fois notre exécutable Java crée, nous pouvons paramétrer Launch4j afin qu'il encapsule notre fichier jar dans un exécutable Windows. Voici les champs à renseigner au minimum dans notre cas :
Onglet Basic, renseigner le champ Output file avec le chemin de l'exécutable à créer, et le champ Jar avec le chemin du fichier JAR exécutable crée ci-dessus :
Dans l'onglet JRE, renseigner le champ Bundled JRE path. Il s'agit d'un chemin relatif à l'endroit où se situera l'exécutable crée par Launch4j :
Une fois ces paramètres correctement renseignés, il faut sauvegarder la configuration, créer le fichier exécutable Windows et tester son lancement :
A ce stade, Launch4j a fait son travail et en a profité pour créer un fichier launch4j.log que vous pouvez consulter et supprimer si tout c'est bien passé :