create-quarkus-project

Par github · awesome-copilot

Créez un nouveau projet Quarkus (Maven ou Gradle) avec le CLI Quarkus, l'API code.quarkus.io ou le plugin Maven, choisissez des extensions et exécutez-le en mode dev. À utiliser lorsqu'on vous demande de scaffolder, bootstrapper ou démarrer une application Quarkus ou une API REST.

npx skills add https://github.com/github/awesome-copilot --skill create-quarkus-project

Créer un projet Quarkus

1. Détecter l'environnement

java -version          # Java 17, 21 ou 25 (Quarkus 3.40 recommande 25, 3.27 recommande 21)
quarkus --version      # CLI Quarkus optionnel
./mvnw -v || mvn -v    # ou ./gradlew -v

Si le dossier contient déjà un projet Quarkus (BOM io.quarkus.platform, quarkus-maven-plugin, ou plugin Gradle io.quarkus), ne générez PAS la structure : lisez sa version Quarkus et conservez-la. Pour un nouveau projet, utilisez le stream marqué comme recommandé sur https://code.quarkus.io/api/streams (un stream LTS ; voir aussi https://quarkus.io/support/), et n'inventez pas de numéro de patch : laissez l'outil le choisir. Quarkus 4.0 est encore en bêta, ne l'utilisez donc pas sauf si demandé. Si une extension manque du stream recommandé, la CLI choisit silencieusement un stream plus ancien ; vérifiez quarkus.platform.version dans le fichier de build généré.

2. Générer la structure (choisissez un)

CLI Quarkus (installer via https://quarkus.io/get-started/ , par ex. SDKMAN sdk install quarkus) :

quarkus create app com.example:demo \
  --extension='rest-jackson,hibernate-orm-panache,jdbc-postgresql,hibernate-validator,smallrye-health' \
  --java=21 --maven        # ou --gradle

Sans CLI : plugin Maven (épinglez la version à la version actuelle de https://quarkus.io/guides/maven-tooling, remplacez QUARKUS_VERSION ci-dessous par celle-ci) :

mvn io.quarkus.platform:quarkus-maven-plugin:QUARKUS_VERSION:create \
  -DprojectGroupId=com.example -DprojectArtifactId=demo \
  -Dextensions='rest-jackson,hibernate-orm-panache,jdbc-postgresql' \
  -DbuildTool=maven        # ou gradle

Ou générez depuis l'interface web https://code.quarkus.io / API REST (https://code.quarkus.io/d?g=com.example&a=demo&e=rest-jackson&b=MAVEN) et dézippez.

3. Choisir les extensions

Besoin Extension
REST + JSON rest-jackson (Quarkus REST ; pas le legacy resteasy)
ORM de base de données hibernate-orm-panache, jdbc-postgresql
Validation hibernate-validator
Santé / métriques smallrye-health, micrometer-registry-prometheus
Auth oidc ou smallrye-jwt
OpenAPI smallrye-openapi
Client REST rest-client-jackson
Conteneur container-image-jib (ou container-image-docker)

Ajoutez plus tard avec quarkus extension add <name> ou ./mvnw quarkus:add-extension -Dextensions=<name> ; quarkus extension list --installable liste les options.

4. Structure et exécution

src/main/java/...          # ressources, services, entités
src/main/resources/application.properties
src/main/docker/           # Dockerfile.jvm, Dockerfile.native, ...
src/test/java/...          # @QuarkusTest / @QuarkusIntegrationTest
./mvnw quarkus:dev         # ou : quarkus dev / ./gradlew quarkusDev

Les tests générés incluent une classe *IT que Maven ignore par défaut (<skipITs>true</skipITs> dans le modèle) ; exécutez-la avec ./mvnw verify -DskipITs=false ou -Dnative. Le mode dev donne le rechargement à chaud, Dev UI à http://localhost:8080/q/dev-ui, Dev Services (conteneurs auto), et test continu (appuyez sur r). Package : ./mvnw package (fichier JAR exécutable target/quarkus-app/quarkus-run.jar).

Références

Vérifié (génération de structure, ./mvnw verify, ./gradlew build, mode dev, Dev Services PostgreSQL, JDK 26 avec Java 25 release) sur Quarkus 3.40.1 (stream LTS actuel recommandé) et ./mvnw verify sur 3.27.6 (LTS ancien).

Skills connexes : quarkus-dev-services-and-testing, quarkus-native-and-container.

Sources upstream (lisez avant une mise à jour)

Récupérez la page pour la version cible ; préférez-la à cette skill en cas de conflit.

Skills similaires