I. Présentation▲
Exe4j 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 peut-être obtenu gratuitement, mais vous aurez une fenêtre d'avertissement lors de l'utilisation du lanceur qui dira que c'est une version d'évaluation. Il est disponible pour Windows, Mac et Linux.
Dans ce tutoriel, je vais commencer par vous présenter les différentes fonctionnalités d'Exe4J et ensuite vous en expliquer le fonctionnement.
II. Fonctionnalités▲
Voici une liste (non exhaustive) de tout ce que vous permet de faire Exe4J :
- vous pouvez personnaliser l'ordre de recherche de la JVM ;
- vous pouvez dire au programme d'utiliser une JVM spécifique que vous distribuez directement avec le programme ;
- possibilité de spécifier directement le classpath ;
- vous pouvez choisir entre une application console et une application fenêtrée ;
- vous avez la possibilité de faire tourner votre programme en tant que service Windows ;
- vous pouvez directement inclure votre Jar à l'intérieur de l'exécutable ;
- vous pouvez changer le nom du processus de l'application ;
- vous pouvez spécifier une icône ;
- tous les messages sont internationalisables, donc vous pouvez faire une seule version que vous distribuerez partout ;
- vous pouvez afficher un splashScreen natif avant le lancement de votre programme ;
- vous pouvez spécifier des infos sur le fichier, tel que la version, l'auteur… ;
- vous pouvez directement rediriger les flux de la JVM dans des fichiers ;
- vous pouvez spécifier que votre programme ne peut être lancé qu'une seule et unique fois. Exe4J va gérer tout seul l'instance unique de votre programme.
Comme vous le voyez, vous pouvez aller très loin dans les détails de votre application.
III. Utilisation▲
Comme la création d'un lanceur est séparée en étapes, nous allons nous aussi avancer étape par étape.
Le premier écran vous permet d'ouvrir une configuration d'une ancienne création d'exécutable.
III-A. Project Type▲
Regular Mode : si vous choisissez ce mode, l'application va simplement créer un .exe qui va exécuter votre .jar.
Jar in « Exe Mode » : si vous choisissez ce mode, l'application va inclure votre .jar directement dans le .exe. Vous n'avez ainsi qu'un seul fichier à distribuer.
III-B. Application Info▲
Short Name of your application : comme vous l'aurez compris, c'est tout simplement le nom de votre application.
Distribution Source Directory : c'est l'endroit où se trouve votre programme.
Executable Directory : c'est l'endroit où va être généré l'exécutable.
III-C. Executable Info▲
Executable Type : il vous faut spécifier ici le type de votre application, c'est-à-dire si c'est une application console, une application graphique ou si vous voulez qu'elle fonctionne en tant que service Windows.
Executable Name : c'est tout simplement le nom que va prendre le lanceur.
Icon File : vous pouvez indiquer ici un chemin vers une icône pour votre lanceur.
Allow only a single instance of the application : si vous cochez cette case, votre application pourra être lancée une seule fois en même temps.
Fail if an exception in the main thread is thrown : si vous cochez cette case, votre application s'arrêtera s'il y a une exception qui est levée dans le thread principal.
Change working directory to : si vous cochez cette case, vous pourrez spécifier un autre répertoire courant pour l'application, pour lui dire de ne pas s'exécuter dans le dossier ou elle se trouve.
III-C-1. Redirections▲
Redirect stderr : si vous cochez cette case, vous allez pouvoir rediriger le flux d'erreur de votre programme dans un fichier.
Redirect stdout : si vous cochez cette case, vous allez pouvoir rediriger le flux de sortie standard de votre programme dans un fichier.
III-C-2. Service options▲
Ces options ne sont accessibles que si vous avez spécifié que votre programme était un service Windows.
Description : vous pouvez donner ici une description de votre service Windows.
Auto start : si vous choisissez cette option, votre service sera automatiquement lancé au démarrage de Windows.
Start on demand : si vous choisissez cette option, votre service sera lancé seulement à la demande de l'utilisateur.
Dependancies : vous pouvez indiquer un service qui doit être démarré pour que le vôtre démarre.
III-C-3. Version info▲
Generate version info ressource : si vous cochez cette case, vous pourrez spécifier des informations sur votre fichier.
Product version : le numéro de version de votre produit.
File version : le numéro de version de ce fichier.
Internal name : le nom du produit.
File description : la description du fichier.
Legal copyright : le copyright de ce fichier.
Company name : le nom de l'entreprise ayant fait ce produit.
III-C-4. 32-bit or 64-bit▲
Generate 64 bit executable : si vous cochez cette case, l'exécutable généré sera fait pour une JVM 64 bits.
III-C-5. Vista execution level▲
Vous pouvez choisir ici le mode d'exécution de votre programme sur Windows Vista. Si vous n'êtes pas sûr, choisissez « As invoker ».
III-D. Java Invocation▲
Main class : sélectionnez ici la classe main de l'application.
VM Parameters : vous pouvez passer ici des paramètres à la JVM.
Arguments : vous pouvez passer ici des arguments à votre application.
Class Path : vous devez ajouter dans cette liste toutes les ressources pour votre programme.
III-D-1. Natives librairies▲
Si votre programme utilise des librairies natives, vous pouvez les ajouter directement ici dans le library path.
III-E. JRE▲
Minimum version : la version minimum de JVM qu'il faut pour faire tourner le programme.
Maximum version : la version maximum de JVM qu'il faut pour faire tourner le programme.
Allow JREs with a beta version number : si vous cochez cette case, votre programme pourra être lancé avec une version bêta.
Only allow JDKs and no JREs : si vous cochez cette case, votre programme pourra être lancé seulement avec un JDK.
III-E-1. Search Sequence▲
Vous pouvez modifier ici la séquence de recherche de la JVM. Vous pouvez ajouter vos propres endroits de recherche et modifier l'ordre de recherche.
III-E-2. Preferred VM▲
Vous pouvez spécifier ici la JVM avec laquelle votre programme va se lancer.
III-F. Splash Screen▲
Show Splash Screen : si vous cochez cette case, vous pourrez ajouter un splash Screen à votre application.
Image File : indiquez ici le chemin vers l'image de splash screen.
Hide splash screen when first application window is shown : si vous cochez cette case, le splash screen se fermera dès qu'une application se lancera.
Splash Screen is always on top : si vous cochez cette case, votre splash screen sera toujours devant les autres fenêtres.
Status line : vous pouvez configurer ici la position, le texte et la police du texte qui sera affiché sur l'image pour afficher le statut.
Version line : vous pouvez configurer ici la position, le texte et la police du texte qui sera affiché sur l'image pour afficher la version.
III-G. Messages▲
Vous pouvez modifier ici tous les différents messages qui pourraient être affichés durant l'exécution du programme. Vous pouvez les modifier dans 3 langues différentes, la langue sera choisie sur le poste utilisateur.
III-H. Compile executable▲
En arrivant sur cet onglet la compilation du programme se fera directement. En cas de réussite, vous arriverez directement sur l'onglet « Finished », puis vous pourrez tester votre lanceur et sauvegarder votre configuration.
IV. Liens▲
Pour plus d'infos sur la création d'exécutables Java, vous pouvez lire ce tutorielCréation d'exécutables en Java qui résume toutes les différentes manières de faire un exécutable en Java.
V. Remerciements▲
Merci à Ricky81 pour ses corrections.