Présentation et utilisation de Launch4j

Baptiste Wicht

Cet article vous permettra de créer des lanceurs pour vos programmes Java, pour cela, vous vous servirez de Launch4j. ?

- Titre : Présentation et utilisation de Launch4j

- Auteur : Baptiste Wicht

- Parution : 2 octobre 2006

- Licence : Copyright ® 2009 Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

Sommaire

- 1. Présentation

- 2. Fonctionnalités

- 3. Utilisation

- 3-1. Basic

- 3-2. Header

- 3-3. JRE

- 3-4. Splash

- 3-5. Version Info

- 3-6. Créer le lanceur

- 4. Remerciements

- 5. Liens

1 - Présentation

Launch4j est un logiciel qui permet de créer des lanceurs pour vos applications Java. Il va créer un .exe pour lancer votre .jar. Ce logiciel est sous licence GPL donc tout à fait libre. Il est disponible sous Windows, Linux, MacOsx et Solaris.
Vous pouvez configurer différentes options pour la JVM et pour la création du programme. Vous pouvez aussi ajouter une icône à vos programmes.

Dans ce tutoriel, je vais commencer par vous présenter les différentes fonctionnalités de Launch4j et ensuite vous en expliquer le fonctionnement.

2 - Fonctionnalités

Voici une liste (non exhaustive) de tout ce que vous permet de faire Launch4j.

Fonctionnalités de Launch4j

- Possibilité d'employer un ClassPath dynamique avec l'utilisation de variables d'environnement.

- Possibilité de mettre une icône à votre lanceur avec différentes résolutions et couleurs.

- Affiche un SplashScreen natif à partir d'une image BMP avant le lancement de la JVM.

- Le nom du processus est le nom de votre exécutable, ainsi il est facile de le retrouver.

- Travaille avec une JVM spécifiée ou alors s'occupe d'aller la chercher.

- Affiche une page de téléchargement de Java s'il n'y pas de JVM ou si elle n'est pas appropriée.

- Peut créer des lanceurs pour des applications graphiques ou console.

- On peut passer des arguments en ligne de commande au lanceur.

- Modification des valeurs de taille de la heap size.

- Peut configurer les options de la JVM via l'interface graphique.

- Possibilité d'employer un fichier .ini pour les options de la JVM.

- Possibilité de modifier les variables d'environnement.

- On peut ajouter des infos au lanceur tel que l'auteur et la version.

- Il peut être utilisé pour des applications commerciales.

- Il peut être utilisé en ligne de commande ou alors avec l'interface graphique.

- On peut faire la compilation via Ant.

- Le lanceur marche sur toutes les plateformes Windows.

Comme vous le voyez, Launch4j permet beaucoup de choses, mais malgré cela, il reste assez simple à utiliser via son interface graphique très ergonomique.

3 - Utilisation

Nous allons maintenant apprendre à nous servir de Launch4j pour créer notre propre lanceur. Nous avons donc besoin d'un quelconque fichier Jar exécutable.
Nous allons donc avancer onglet par onglet puisque chaque onglet représente une étape.

3-1 - Basic

Onglet Basic

Output File : il vous faut indiquer le chemin vers le lanceur, vous pouvez cliquer sur le bouton à droite pour parcourir le disque.
Jar : il faut que vous indiquiez ici le chemin vers le .jar de votre application.
Don't wrap the jar, launch only : vous pouvez choisir de ne pas inclure le jar à l'intérieur du .exe mais seulement de le lancer en cliquant sur la case à cocher.
Icon : vous pouvez ensuite spécifier une icône pour votre lanceur. L'icône doit être un .ico.
Change dir : vous pouvez spécifier ici un chemin relatif pour l'exécution du programme. C'est pour être sûr que le répertoire courant sera bien celui du .jar. Cette option n'est à employer que si le jar n'est pas dans le même répertoire que le .exe.
Jar arguments : vous pouvez passer ici des arguments à votre fichier .jar.
Error title : vous pouvez modifier le titre qu'auront les fenêtres d'erreur de Launch4j.
Custom process name : vous pouvez nommer le thread de l'application par le nom de l'exécutable en cliquant sur l'option. Cela vous permettra de mieux repérer votre programme dans le gestionnaire des tâches.
Stay alice after launching… : avec cette option, vous pouvez demander que le lanceur soit actif durant le temps où votre application est lancée. Par défaut, le lanceur se ferme dès le moment ou il a correctement lancé votre jar.

3-2 - Header

Onglet Header

Header Type : vous devez ici spécifier si votre application est une application console ou alors une application en mode graphique (GUI).
Object files : vous pouvez spécifier les fichiers d'objets à inclure pour votre header. Cette option ne doit être employée que si vous employez un header personnalisé.
w32api : vous pouvez spécifier les librairies à inclure pour votre header. Cette option ne doit être employée que si vous utilisez un header personnalisé.

3-3 - JRE

Onglet JRE

Emb. JRE path : vous pouvez spécifier une JVM à employer, cette option est obligatoire si vous voulez qu'une JVM spéciale que vous fournissez avec l'exécutable soit employée.
Min JRE version : vous devez spécifier la version minimale de la JVM pour que votre programme soit lancé. Cette version doit être sous la forme 1.5.0 par exemple.
Max JRE version : vous pouvez spécifier la version maximale de la JVM jusqu'à laquelle votre programme sera exécuté. La forme est la même que pour la version minimale.
Initial heap size : vous pouvez spécifier ici la taille initiale du tas (heap size) de la JVM.
Max heap size : vous pouvez spécifier ici la taille maximale du tas (heap size) de la JVM.
JVM arguments : vous pouvez passer ici tous les arguments que vous voulez à la JVM.
Add variables : vous pouvez vous aider de ces cases à cocher et du bouton pour ajouter des variables d'environnement à la JVM.

3-4 - Splash

Onglet Splash

Enable Splash Screen : cette option vous permet d'activer ou non le splash screen avant la JVM.
Splash File : vous devez spécifier une image bitmap qui sera l'image affichée sur le splash screen.
Wait for window : cette option si elle est cochée, ferme le splash screen dès que l'application apparaît.
Timeout[s] : vous pouvez indiquer un temps (en secondes) après lequel le splash screen va automatiquement disparaître sans attendre l'apparition de l'application.
Signal error on timeout : si vous cochez cette option, si le splash screen se ferme à cause du timeout, un message d'erreur va être affiché.

3-5 - Version Info

Onglet Version Info

Add version information : cette option vous permet tout simplement d'ajouter des informations sur le fichier .exe. Si vous activez cette option, vous devrez remplir tous les champs. Les informations seront visibles dans les propriétés du fichier.
File version : numéro de version du fichier.
Free form : numéro de version du fichier, mais sous forme libre, c'est-à-dire pouvant contenir des lettres.
File description : description du fichier.
Copyright : droits d'auteur du fichier.

Product Version : numéro de version du produit.
Free Form : numéro de version du produit, mais sous forme libre, c'est-à-dire pouvant contenir des lettres.
Product name : nom du produit.
Company name : nom de la société.
Internal name : nom interne du fichier sans extension.
Original filename : nom de fichier original.

3-6 - Créer le lanceur

Maintenant que vous avez rempli tous les champs dont vous aviez besoin, il vous faut cliquer sur le bouton en forme de roue dentée pour lancer la création du lanceur. Il vous proposera d'abord de sauvegarder toutes vos options pour vous éviter de tout devoir reconfigurer pour une version suivante.
Si tout se passe sans erreur, le fichier lanceur sera créé et vous pourrez le distribuer ainsi.

4 - Remerciements

Merci à moritan pour sa relecture de cet article.

5 - Liens

Pour plus d'infos sur la création d'exécutables Java, vous pouvez lire ce tutoriel qui résume toutes les différentes manières de faire un exécutable en Java.

- Site officiel de Launch4j

- Téléchargement de la dernière version de Launch4j (2.1.5)

- Documentation de Launch4j

- Plugin Launch4j pour Netbeans