Documentation / L’IDE

Exécuter et déboguer

Build avec Maven, Gradle, Ant, npm ou Cargo, serveurs d’applications, débogueurs JDWP, CDP et PL/SQL, hot swap et diagnostic de la JVM.

Yuli compile, exécute, teste et débogue avec les outils de votre projet. Arrêter un build, un log ou un test met fin à toute l’arborescence de processus.

Outils de build

Outil Projets
Maven Java avec pom.xml
Gradle Java et Kotlin avec build.gradle
Ant Java avec build.xml
npm JavaScript et TypeScript (détecte le gestionnaire d’après le lockfile)
Cargo Rust

Yuli comprend aussi les projets Eclipse sans migration.

Toolchains

Yuli détecte le JDK, Maven et Gradle, propose de télécharger ceux qui manquent et affiche leur état. Ils se configurent dans Projet → Build, exécution et débogage… : variables d’environnement, options de la VM, profils Spring, SDK, Maven, Gradle et enregistrement.

Panneau Maven / Gradle / Ant

Dans le panneau inférieur (Alt+7) : filtre, profils sous forme de puces, phases du cycle de vie sur une bande et autres tâches en cartes regroupées.

Exécuter

Action Raccourci
Exécuter la dernière configuration Shift+F10
Déboguer la dernière configuration Shift+F9
Arrêter l’exécution Ctrl+F2
Construire le projet Ctrl+F9
Exécuter tous les tests Ctrl+Shift+F10
Exécuter les tests avec couverture Ctrl+Shift+F11

Configurations d’exécution

Types : build, exécution, tests, nettoyage, couverture, packaging, commande personnalisée et script de package.json. Elles disposent d’un historique.

La console

Dans le panneau Exécution, chaque ligne de stack trace du projet, chaque erreur JSP et chaque Archivo.java:42 mène au fichier et à la ligne. Filtrez par niveau, par package ou logger, ou par Mon code (uniquement ce qui provient du projet).

Serveurs d’applications

Dans Projet → Structure du projet… → Serveurs :

Serveur Notes
Tomcat Recharge le contexte lors de la mise à jour des classes.
Jetty —
JBoss / WildFly —
WebLogic Domaine en mode développement.
  • Déploiement exploded : JSP, HTML, CSS, JS et .properties arrivent sur le serveur à l’enregistrement, sans redéploiement. Actualiser copie les classes recompilées.
  • Chaque serveur s’exécute avec sa propre configuration dans le projet, avec ses propres ports.
  • Il démarre en exécution ou en débogage ; le débogueur se connecte tout seul.
  • Il vous avertit si l’application utilise javax sur un serveur jakarta, ou l’inverse.
  • Les API du serveur (Servlet, JSP) sont ajoutées au classpath de l’éditeur.

Déboguer

Langage Débogueur
Java et JVM Client JDWP natif
Node.js Chrome DevTools Protocol (CDP)
Oracle PL/SQL DBMS_DEBUG d’Oracle

Fonctions

  • Arborescence des variables et inspection des objets, avec les valeurs affichées en ligne sur le code.
  • Valeurs lisibles : un objet s’affiche sous la forme Owner{id=3, firstName="George", …}, une date sous la forme 2026-10-15, une collection avec sa taille.
  • Points d’arrêt conditionnels, par compteur, logpoints et sur exception.
  • Évaluateur d’expressions et modification des valeurs à chaud.
  • Débogage des tests.

Pas à pas

Action Raccourci
Continuer F9
Ligne suivante (step over) F8
Entrer, uniquement dans votre code (step into) F7
Forcer l’entrée Alt+Shift+F7
Sortir de la méthode Shift+F8
Recharger les classes modifiées (hot swap) Ctrl+Alt+F10

Hot swap

Recompile avec l’outil du projet et redéfinit les classes modifiées pendant la session de débogage, sans redémarrage.

PL/SQL

Pour déboguer dans Oracle, l’utilisateur doit disposer du privilège DEBUG CONNECT SESSION et les objets doivent être compilés avec COMPILE DEBUG.

Diagnostic de la JVM

Le panneau JVM (dans « Plus » du panneau inférieur) se connecte à n’importe quel processus Java local.

Outil Ce qu’il fait
Dump des threads Regroupe par état et met en évidence les blocages et interblocages.
Histogramme mémoire Mémoire par classe. En le répétant, il montre ce qui a grossi (fuites).
Dump du heap Enregistre un .hprof pour Eclipse MAT ou VisualVM.
Profiler CPU et mémoire Avec Flight Recorder : méthodes les plus coûteuses, arbre d’appels, allocations et GC. Si la JVM ne le prend pas en charge, le profilage se fait par échantillonnage des threads.

Onglets : CPU, Mémoire, Allocations et Threads. Le filtre Code du projet seulement ne garde que votre code, et les frames du projet mènent à la ligne exacte.

Tests et couverture

  • L’explorateur de tests exécute les tests et présente les résultats dans le panneau Tests.
  • La couverture s’affiche dans la marge de l’éditeur : couvert, non couvert et partiel.
  • Avec Gradle, la couverture est générée sans toucher au build, même dans les projets multimodules.

Avec l’agent

Demandez « compile, teste et démarre » et l’agent utilise yuli_verify : build complet, tous les tests et un démarrage avec le profil par défaut. Si l’application ne démarre pas à cause d’une variable d’environnement ou d’un profil, l’agent peut l’examiner et ne vous demander que les valeurs secrètes.