La création d'exécutables en Java
Date de publication : Le 22 Septembre 2006
Par
Baptiste Wicht (home)
I. Introduction
II. Employer un simple script
III. Créer un Jar
III-A. Créer un .jar avec Eclipse
III-A-1. FatJar
III-B. Créer un .jar avec Netbeans
III-C. Créer un .jar avec JBuilder
IV. Créer un lanceur de votre programme
IV-A. JSmooth
IV-B. JExeCreator
IV-C. Launch4j
IV-C-1. Plugin Launch4J pour Netbeans
IV-D. Exe4j
IV-E. JavaExe
V. Compiler votre programme de manière native
V-A. GCJ
V-B. Excelsior JET
V-C. Toba
V-D. Manta
VI. Remerciements
I. Introduction
Vous allez voir dans ce tutoriel qu'il y a plusieurs manières de créer un exécutable de votre programme Java : un fichier BAT, un JAR, un lanceur ou un exécutable natif.
II. Employer un simple script
Pour cela, on va employer deux formats de script :
- Un Batch. C'est un petit exécutable Windows qui permet de lancer des commandes console.
- Un script Shell. C'est un petit exécutable Linux qui permet de lancer des commandes dans le Shell
| Script |
|
III. Créer un Jar
On va donc commencer par créer un fichier manifest :
| MANIFEST.MF |
|
Le classPath est tout simplement la liste des fichiers à ajouter avec le programme, des apis externes par exemple. Si vous employez d'autres Jar, vous serez obligé de les renseigner dans le classpath pour que votre programme les trouve.
Ensuite, il faut employer la commande jar pour créer votre jar. Elle s'utilise de la manière suivante :
| Commande Jar |
|
III-A. Créer un .jar avec Eclipse
III-A-1. FatJar
Vous pouvez le télécharger ici.
III-B. Créer un .jar avec Netbeans
Si cela n'est pas fait, pour créer un .jar avec Netbeans, il faut cliquer droit sur projet, puis cliquer sur "build Project". Ensuite, le .jar sera automatiquement créé dans le répertoire dist de votre projet.
III-C. Créer un .jar avec JBuilder
IV. Créer un lanceur de votre programme
Il y a plusieurs logiciels sur le marché qui permettent de créer des lanceurs de votre programme, je vous en présente quelques uns dans les chapitres qui viennent.
IV-A. JSmooth
- S'il n'y a pas de JVM d'installée, le programme va indiquer à l'utilisateur où est-ce qu'il peut en avoir une
- Permet une bonne configuration de la JVM (Memory allocation)
Utilisation : Assez simple, il vous suffit de naviguer dans les différents onglets à gauche et dès que tout est complété, de cliquer sur le bouton build en haut.
IV-B. JExeCreator
Dernière version : 1.9.1
OS supportés : Windows 9x/NT4/2000/XP
Langue : Anglais
Fonctionnalités :
- S'il n'y a pas de JVM installée, le programme va afficher un message d'erreur avec des informations sur le téléchargement de la JVM
- S'il y a une erreur en cours de programme, une boîte de dialogue avec la trace de l'erreur va s'afficher
- Permet de gérer vos exe sous forme de projet, ainsi vous n'avez plus qu'à ouvrir un ancien projet, mettre à jour les ressources et regénérer le projet pour avoir de nouveau un .exe à jour
Utilisation : Simple, il vous suffit de remplir les champs de chacun des onglets de l'interface et ensuite de cliquer sur le bouton "Build" pour générer votre exe. Vous pouvez ensuite cliquer sur le bouton "Run" pour tester votre lanceur.
IV-C. Launch4j
- Permet d'ajouter un Splash-Screen natif avant le lancement de la JVM avec une image BMP
- Permet de choisir entre une application console et GUI
Utilisation : Très simple, il suffit ici de compléter les champs de chaque onglet un par un. Dès que tout est complété, il vous suffira de cliquer sur "Build Wrapper". Vous pouvez ensuite directement tester le lanceur avec le bouton "test Wrapper"
IV-C-1. Plugin Launch4J pour Netbeans
IV-D. Exe4j
Dernière version : 3.1.3
OS supportés : Windows NT4/2000/XP Linux/Generic Unix/Mac OS x
Langue : Anglais
Fonctionnalités :
- Il permet de choisir entre faire une application console ou une application GUI
- Il permet aussi la création simple de services Windows
- Il permet aussi d'inclure des Jar dans des Jar
- Il permet l'affichage d'un Splash-Screen natif pendant le lancement de la JVM
- En cas d'erreur dans le programme, il permet d'afficher une boîte de dialogue avec lesdites erreurs
- Il permet de choisir entre faire un simple lanceur ou alors mettre le .jar dans le .exe
Utilisation : Encore une fois, très simple, il suffit de suivre chaque étape et de remplir chaque champ l'un après l'autre. En cas de problème, une aide est disponible pour chaque page.
IV-E. JavaExe
- JavaExe est plus basique que les autres programmes, dans le sens où il n'a pas d'interface graphique pour la création, il faut juste employer l'exe donné avec le programme et le nommer comme le Jar
- Il permet soit une application console soit une application Gui
- Il permet de créer un service Windows, mais il faut pour cela modifier un peu votre code
- La package contient aussi une petite application permettant de changer l'icône de votre exe
Utilisation : Très simple, il suffit de renommer le nom du fichier .exe par le nom de votre fichier .jar.
V. Compiler votre programme de manière native
Pour la compilation native de vos programmes java, il existe aussi plusieurs programmes, en voici une partie.
V-A. GCJ
Limitations :
- Support inexistant de Swing
- Faible support de AWT
- Supporte Java 1.4 et quelques parties de Java 1.5
- Problème avec les Apis externes récentes qui ne sont donc pas incluses dans les libs de GCJ
V-B. Excelsior JET
Limitations :
- Il n'y a aucune limitation à JET, il supporte java 5.0
- JET possède une interface graphique très intuitive
- De plus, Excelsior JET a passé le test de compatibilité de Sun
- 4500 $ pour l'édition Enterprise
- 2300 $ pour l'édition Professional
- 1200 $ pour l'édition Standard
- Possibilité d'avoir une version d'essai de 90 jours
