Ouvre le dossier de ton projet (ou colle un pom.xml) et écris la commande que tu lancerais. Chaque phase que parcourt cette commande apparaît, avec les goals qui y tournent et d'où vient chacun : ce que Maven met par défaut selon le packaging, ton pom, le parent ou un profil. Clique sur un goal pour voir son origine et sa ligne dans le pom.
Le calcul a été vérifié goal par goal avec ce qu'imprime vraiment Maven (3.10 et 4.0) sur onze cas : Spring Boot, multi-module, WAR, Quarkus, Micronaut, Apache Commons, -pl -am, verify et goals isolés. Ce qu'il ne peut pas savoir (un parent que tu n'as pas ouvert, un plugin qu'il ne connaît pas), il ne l'invente pas : il te le dit.
La vérification du pom avertit de ce qui casse ou change le build en passant à Maven 3.10 ou 4 (un plugin ou une dépendance en double arrêtent déjà le build ; un plugin sans version change tout seul), et des versions répétées entre modules. Tout est mesuré face à Maven réel. Avec Gradle, impossible de lire le build.gradle, car c'est du code : colle la sortie de ./gradlew build --dry-run et tu obtiens l'ordre réel des tâches, avec son équivalent chez Maven.
La phase par défaut de chaque goal et ce qu'apportent les parents habituels (Spring Boot, Apache, Micronaut, JBoss…) viennent de Maven Central, qu'on ne peut pas consulter depuis le navigateur. Ils sont inclus dans l'outil, datés du 2026-10-25. Si ton parent est plus récent, c'est le plus proche qui est utilisé, avec un avertissement.