Skip to content

grumpyf0x48/java-25-cli-16168

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Un exemple d'Application en Ligne de Commande (CLI) avec Java 25 et les JEP 458, 511 et 512

Cette application a été créée avec le template java-25-quickstart qui permet de démarrer une nouvelle application en commande ligne avec Java et Gradle.

Ce template nécessite d'utiliser Java 25 ou une version supérieure car il utilise les JEPs suivantes :

Le template utilise la librairie record-args, développée par Nicolai Parlog, et qui s'appuie sur les record et les interfaces sealed pour définir les arguments de la ligne de commande et en effectuer le parsing.

Construire votre application

Après avoir créé le dépôt GitHub de votre nouvelle application à partir de ce template, vous pouvez suivre les étapes suivantes pour construire votre application.

Changer le nom de l'application

Pour changer le nom de l'application, initialement nommée Quickstart, il faut positionner la variable APP_NAME dans le terminal comme suit :

$ export APP_NAME=MyCmdLine

Lancer l'application localement

$ make run-app
./gradlew run --args="--language French"
Bonjour 🇫🇷

Construire le livrable de l'application

Le livrable de l'application comprend les sources ainsi que ses dépendances.

$ make package
./gradlew scriptsDistZip

Shell de lancement

Le script de lancement Application.sh, dont le rôle est de lancer le fichier Application.java, est renommé lors de la construction du livrable en MyCmdLine.sh.

Cela permet d'ajouter plusieurs applications dans le PATH et donc d'invoquer directement MyCmdLine.sh.

Installer l'application

$ DEST_DIR=/home/user make install
unzip -q -d /home/user build/distributions/QuickStart.zip

Lancer l'application installée

$ DEST_DIR=/home/user make run-installed-app
PATH=/home/user/QuickStart/bin:/usr/lib/jvm/jdk-25/bin:/home/fopy/.local/bin:... QuickStart.sh --language French
Bonjour 🇫🇷

Il ne nous reste plus qu'à :

Exécuter les tests

Dans ce template utilisant Gradle, les tests utilisent JUnit, et contrairement au template basic-java-25-quickstart ils n'utilisent pas la JEP 458: les sources sont compilées avant les tests.

$ make test

Autres templates

Sans utiliser Java 25

Si vous ne disposez pas de Java 25, vous avez trois possibilités :

Sans utiliser Gradle

Si vous ne disposez pas de Gradle ou que vous ne souhaitez pas l'utiliser, vous pouvez utiliser les templates basic-java-25-quickstart ou basic-java-23-quickstart qui ne requierent que make pour construire l'application.

About

Un exemple d'Application en Ligne de Commande (CLI) avec Java 25, Gradle et les JEP 458, 511 et 512

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published