Skip to content
@java-cli-apps

Java CLI Apps

Talk « 💾 Partagez simplement vos Java CLI Apps »

💾 Partagez simplement vos Java CLI Apps

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é à :

Sommaire :

Présentations

Paris JUG Academy

Devoxx France

Vidéo

Vidéo

Human Talks Paris

Oracle Dev Days

Templates d'applications

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.

Templates Java 23

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.

Avec Java 23 et make

Avec Java 23 et Gradle

Templates Java 22

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.

Avec Java 22 et make

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).

Avec Java 22 et Gradle

Le template java-22-quickstart permet de démarrer une nouvelle commande ligne avec Java 22 et Gradle.

Template Java 11

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.

Exemples de code

Exemple d'utilisation de la JEP 458

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.

Exemple du talk

L'exemple de code du talk qui utilise Java 21 et dans lequel tout le code source se trouve dans le même fichier.

Exemple du talk avec Java 22

Le même exemple, mais utilisant Java 22 pour déclarer chaque classe dans un fichier séparé grâce à la JEP 458.

Liens et ressources

JDK, Doc

dev.java: The Destination for Java Developers

jdk.java.net: Production and Early-Access OpenJDK Builds, from Oracle

docs.oracle.com: The java Command

docs.oracle.com: The Java Virtual Machine Instruction Set

Sur la JEP 330

JEP 330: Launch Single-File Source-Code Programs

JEP 458: Launch Multi-File Source-Code Programs

Inside Java Newscast #63: Does Java 22 Kill Build Tools ?

JDK Source Code: Handling Shebang

The Go Cookbook: Running a file via a shebang line

JEPs qui simplifient Java

JEP 494: Module Import Declarations (Second Preview)

JEP 495: Simple Source Files and Instance Main Methods (Fourth Preview)

Outils, Articles, Sites

The Java Version Almanac

SDKMAN: The Software Development Kit Manager

JBang: Use Java for scripting

Démarrer vos projets Java plus rapidement avec JBang

Librairies

RecordArgs: A simple command-line argument parser for Java applications

Contact

🦋 pyfourmond.bsky.social

https://linkedin.com/in/pyfourmond

Pinned Loading

  1. basic-java-22-quickstart basic-java-22-quickstart Public template

    Un template d'Application en Ligne de Commande (CLI) avec Java 22 et la JEP 458

    Java 1 2

  2. java-22-quickstart java-22-quickstart Public template

    Un template d'Application en Ligne de Commande (CLI) avec Java 22, la JEP 458 et Gradle

    Java 1 1

  3. basic-java-quickstart basic-java-quickstart Public template

    Forked from java-cli-apps/basic-java-22-quickstart

    Un template d'Application en Ligne de Commande (CLI) avec Java et la JEP 330

    Java 1

  4. basic-java-23-quickstart basic-java-23-quickstart Public template

    Forked from java-cli-apps/basic-java-22-quickstart

    Un template d'Application en Ligne de Commande (CLI) avec Java 23 et les JEP 458 et 477

    Makefile 1

Repositories

Showing 7 of 7 repositories

Top languages

Loading…

Most used topics

Loading…