Un nouvel outil, appelé jlink a été introduit dans Java 9 qui permet la création d'images d'exécution modulaires. Ces images d'exécution ne sont rien d'autre qu'une collection d'un ensemble de modules et de leurs dépendances. Une proposition d'amélioration Java, JEP 220, régit la structure de cette image d'exécution.
L'outil JLink est conçu pour fournir des phases facultatives entre la compilation et l'exécution, appelées temps de liaison, qui relient un ensemble de modules et ses dépendances transitives pour créer des images d'exécution. JLink simplifie le déploiement et réduit également la taille d'une application.
La syntaxe d'invocation de jLink est la suivante :
jlink --module-path [modulepath] --add-modules [modules] --limit-modules [modules] --output [path]
Ici,
–module-path – jLink utilise le chemin du module pour trouver des modules tels que des pots modulaires, des fichiers JMOD
–add-modules – Mentionnez le module qui doit être inclus dans l'ensemble de modules par défaut pour l'image d'exécution, par défaut l'ensemble de modules est vide.
–limit-modules – Utilisez cette option pour limiter les modules, ce qui est requis pour notre application.
–output – L'image d'exécution finale résultante sera stockée dans le répertoire de sortie
–help – détaille la liste des options de jLink
–version – afficher le numéro de version
Si vous obtenez l'erreur ci-dessous lors de l'exécution de la commande jlink :
jlink: command not found
vous pouvez installer le package ci-dessous selon votre choix de distribution.
Répartition | Commande |
---|---|
Debian | apt-get install openjdk-12-jdk-headless |
Ubuntu | apt-get install openjdk-9-jdk-headless |
Arch Linux | pacman -S jdk10-openjdk |
Kali Linux | apt-get install openjdk-11-jdk-headless |
Fédora | installation dnf java-9-openjdk-devel-debug-1 |
Raspbian | apt-get install openjdk-9-jdk-headless |
Conclusion
Un nouvel outil du JDK 9 est la commande jlink, l'éditeur de liens de Java pour créer des images d'exécution personnalisées. Vous pouvez inclure uniquement ce qui est nécessaire pour qu'une application ou un ensemble d'applications donné s'exécute dans un environnement d'exécution personnalisé. Par exemple, si vous créez un environnement d'exécution pour un appareil qui ne prend pas en charge les interfaces graphiques, vous pouvez créer un environnement d'exécution sans les modules correspondants qui prennent en charge Swing et JavaFX.