<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Build on Jean-Christophe Gay</title><link>https://jeanchristophegay.com/en/tags/build/</link><description>Recent content in Build on Jean-Christophe Gay</description><generator>Hugo -- gohugo.io</generator><language>en-US</language><copyright>© 2026 Jean-Christophe Gay</copyright><lastBuildDate>Tue, 18 Aug 2026 23:08:47 +0200</lastBuildDate><atom:link href="https://jeanchristophegay.com/en/tags/build/index.xml" rel="self" type="application/rss+xml"/><item><title>Show Maven build plan</title><link>https://jeanchristophegay.com/en/posts/maven-build-plan/</link><pubDate>Sat, 22 Mar 2014 19:24:00 +0200</pubDate><guid>https://jeanchristophegay.com/en/posts/maven-build-plan/</guid><description>&lt;p&gt;I often find myself in front of a &lt;a href="https://maven.apache.org/guides/introduction/introduction-to-the-pom.html" target="_blank" rel="noreferrer"&gt;POM&lt;/a&gt; scratching my head while trying to find what Maven will execute during my build. Since Maven 3 it is possible to calculate execution plan by simulating the build. Strangely there is not easy way do display it. Here is &lt;a href="http://buildplan.jcgay.fr" target="_blank" rel="noreferrer"&gt;buildplan-maven-plugin&lt;/a&gt;.&lt;/p&gt;

&lt;h1 class="relative group"&gt;Configuration
 &lt;div id="configuration" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#configuration" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;To easily use the plugin, add its &lt;code&gt;groupId&lt;/code&gt; in your Maven configuration (ie &lt;code&gt;settings.xml&lt;/code&gt;):&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-xml" data-lang="xml"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;pluginGroups&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nt"&gt;&amp;lt;pluginGroup&amp;gt;&lt;/span&gt;fr.jcgay.maven.plugins&lt;span class="nt"&gt;&amp;lt;/pluginGroup&amp;gt;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="nt"&gt;&amp;lt;/pluginGroups&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;h1 class="relative group"&gt;Show build plan
 &lt;div id="show-build-plan" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#show-build-plan" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;It is possible to list goals executed during a build. The simulated phase is &lt;code&gt;deploy&lt;/code&gt;.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; mvn buildplan:list

[INFO] --- buildplan-maven-plugin:1.0:list (default-cli) @ maven-notifier ---
[INFO] ----------------------------------------------------------------------------------------------
[INFO] PLUGIN | PHASE | ID | GOAL
[INFO] ----------------------------------------------------------------------------------------------
[INFO] maven-resources-plugin | process-resources | default-resources | resources
[INFO] maven-compiler-plugin | compile | default-compile | compile
[INFO] plexus-component-metadata | process-classes | default | generate-metadata
[INFO] maven-resources-plugin | process-test-resources | default-testResources | testResources
[INFO] maven-compiler-plugin | test-compile | default-testCompile | testCompile
[INFO] maven-surefire-plugin | test | default-test | test
[INFO] maven-dependency-plugin | process-sources | get-logging-binding | copy
[INFO] maven-jar-plugin | package | default-jar | jar
[INFO] maven-shade-plugin | package | default | shade
[INFO] maven-assembly-plugin | | make-assembly | single
[INFO] maven-source-plugin | package | default | jar-no-fork
[INFO] maven-install-plugin | install | default-install | install
[INFO] maven-deploy-plugin | deploy | default-deploy | deploy
&lt;/code&gt;&lt;/pre&gt;

&lt;h1 class="relative group"&gt;Show phases
 &lt;div id="show-phases" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#show-phases" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;A view per phase is available. This way, we can quickly see which plugins are used during a phase.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; mvn buildplan:list-phase

[INFO] --- buildplan-maven-plugin:1.0:list-phase (default-cli) @ maven-notifier ---
[INFO] install --------------------------------------------------------------------
[INFO] + maven-install-plugin | default-install | install
[INFO] process-resources ----------------------------------------------------------
[INFO] + maven-resources-plugin | default-resources | resources
[INFO] process-sources ------------------------------------------------------------
[INFO] + maven-dependency-plugin | get-logging-binding | copy
[INFO] test -----------------------------------------------------------------------
[INFO] + maven-surefire-plugin | default-test | test
[INFO] test-compile ---------------------------------------------------------------
[INFO] + maven-compiler-plugin | default-testCompile | testCompile
[INFO] process-test-resources -----------------------------------------------------
[INFO] + maven-resources-plugin | default-testResources | testResources
[INFO] process-classes ------------------------------------------------------------
[INFO] + plexus-component-metadata | default | generate-metadata
[INFO] compile --------------------------------------------------------------------
[INFO] + maven-compiler-plugin | default-compile | compile
[INFO] default-phase --------------------------------------------------------------
[INFO] + maven-assembly-plugin | make-assembly | single
[INFO] package --------------------------------------------------------------------
[INFO] + maven-jar-plugin | default-jar | jar
[INFO] + maven-shade-plugin | default | shade
[INFO] + maven-source-plugin | default | jar-no-fork
[INFO] deploy ---------------------------------------------------------------------
[INFO] + maven-deploy-plugin | default-deploy | deploy
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Filtering phase using parameter &lt;code&gt;buildplan.phase&lt;/code&gt;:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mvn buildplan:list-phase -Dbuildplan.phase=test
&lt;/code&gt;&lt;/pre&gt;

&lt;h1 class="relative group"&gt;Show plugins
 &lt;div id="show-plugins" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#show-plugins" aria-label="Anchor"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;In this cas, executions are grouped by plugin.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;gt; mvn buildplan:list-plugin

[INFO] --- buildplan-maven-plugin:1.0:list-plugin (default-cli) @ maven-notifier ---
[INFO] maven-deploy-plugin -----------------------------------------------------
[INFO] + deploy | default-deploy | deploy
[INFO] maven-source-plugin -----------------------------------------------------
[INFO] + package | default | jar-no-fork
[INFO] maven-assembly-plugin ---------------------------------------------------
[INFO] + | make-assembly | single
[INFO] maven-dependency-plugin -------------------------------------------------
[INFO] + process-sources | get-logging-binding | copy
[INFO] maven-resources-plugin --------------------------------------------------
[INFO] + process-resources | default-resources | resources
[INFO] + process-test-resources | default-testResources | testResources
[INFO] maven-jar-plugin --------------------------------------------------------
[INFO] + package | default-jar | jar
[INFO] maven-shade-plugin ------------------------------------------------------
[INFO] + package | default | shade
[INFO] maven-surefire-plugin ---------------------------------------------------
[INFO] + test | default-test | test
[INFO] maven-compiler-plugin ---------------------------------------------------
[INFO] + compile | default-compile | compile
[INFO] + test-compile | default-testCompile | testCompile
[INFO] maven-install-plugin ----------------------------------------------------
[INFO] + install | default-install | install
[INFO] plexus-component-metadata -----------------------------------------------
[INFO] + process-classes | default | generate-metadata
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The parameter &lt;code&gt;buildplan.plugin&lt;/code&gt; allow specific plugin filtering:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;mvn buildplan:list-plugin -Dbuildplan.plugin=maven-compiler-plugin
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This is it, your build plan will have no secret for you anymore !&lt;/p&gt;</description></item></channel></rss>