L'organisation Java CLI Apps héberge les slides, programmes d'exemple et templates d'application de mon talk « 💾 Partagez simplement vos Java CLI Apps ».
Ce talk a été le gagnant de la Paris JUG Academy 2024.
Il a également été présenté à Devoxx France le 17 avril dernier.
Ces templates GitHub servent de base à la création d'une application comme expliqué dans le talk.
Deux templates sont fournis pour Java 23, l'un fonctionne avec make
et l'autre utilise Gradle
. Il en est de même
pour Java 22.
De plus un dernier template existe pour les releases antérieures à Java 22, et qui utilise make
.
Les templates basic-java-23-quickstart et
java-23-quickstart nécessitent d'utiliser Java 23 ou une version
supérieure car ils utilisent la JEP 477 qui simplifie la déclaration de la méthode main
,
ne nécessite pas de déclaration de classe et permet d'utiliser les méthodes de la classe java.io.IO
sans aucun import.
Ils utilisent également la JEP 458 qui permet de lancer plusieurs fichiers sources sans les compiler préalablement.
Ces templates nécessitent d'utiliser Java 22 ou une version supérieure car ils utilisent la JEP 458 qui permet de lancer plusieurs fichiers sources sans les compiler préalablement.
Le template basic-java-22-quickstart permet de démarrer
une nouvelle commande ligne avec Java 22 sans utiliser aucun système de build (autre que make
).
Le template java-22-quickstart permet de démarrer une nouvelle commande ligne avec Java 22 et Gradle.
Le template basic-java-quickstart permet de démarrer une
nouvelle commande ligne en Java sans utiliser aucun système de build (autre que make
).
Ce template nécessite d'utiliser Java 11 ou une version supérieure car il utilise la JEP 330 qui permet de lancer un fichier source sans le compiler préalablement.
Un exemple basique d'utilisation de la JEP 458 (Launch Multi-File Source-Code Programs) qui étend la JEP 330 (Launch Single-File Source-Code Programs) et permet de charger les classes utilisées par la classe lancée sur la ligne de commande.
L'exemple de code du talk qui utilise Java 21 et dans lequel tout le code source se trouve dans le même fichier.
Le même exemple, mais utilisant Java 22 pour déclarer chaque classe dans un fichier séparé grâce à la JEP 458.