Modified: 
maven/website/content/guides/introduction/introduction-to-the-lifecycle.html
==============================================================================
--- 
maven/website/content/guides/introduction/introduction-to-the-lifecycle.html 
(original)
+++ 
maven/website/content/guides/introduction/introduction-to-the-lifecycle.html 
Sat Feb 18 20:40:58 2023
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/markdown/guides/introduction/introduction-to-the-lifecycle.md at 
2023-02-18
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/apt/guides/introduction/introduction-to-the-lifecycle.apt at 2023-02-18
  | Rendered using Apache Maven Fluido Skin 1.11.1
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="">
@@ -11,7 +11,8 @@
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M4" 
/>
     <meta name="author" content="Brett Porter" />
-    <meta name="date" content="2006-06-16, 2015-04-04" />
+    <meta name="date" content="2006-06-16
+2015-04-04" />
     <title>Maven &#x2013; Introduction to the Build Lifecycle</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.11.1.min.css" 
/>
     <link rel="stylesheet" href="../../css/site.css" />
@@ -48,7 +49,7 @@
           <ul class="breadcrumb">
       <li class=""><a href="https://www.apache.org/"; class="externalLink" 
title="Apache">Apache</a><span class="divider">/</span></li>
       <li class=""><a href="../../index.html" title="Maven">Maven</a><span 
class="divider">/</span></li>
-    <li class="active ">Introduction to the Build Lifecycle <a 
href="https://github.com/apache/maven-site/tree/master/content/markdown/guides/introduction/introduction-to-the-lifecycle.md";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
+    <li class="active ">Introduction to the Build Lifecycle <a 
href="https://github.com/apache/maven-site/tree/master/content/apt/guides/introduction/introduction-to-the-lifecycle.apt";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
         <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2023-02-18</li>
         <li class="pull-right"><span class="divider">|</span>
 <a href="../../scm.html" title="Get Sources">Get Sources</a></li>
@@ -145,149 +146,102 @@
           </div>
         </header>
         <main id="bodyColumn"  class="span10" >
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<section><section>
-<h2>Introduction to the Build Lifecycle</h2><section>
-<h3>Table Of Contents</h3>
+<section>
+<h1>Introduction to the Build Lifecycle</h1><section>
+<h2>Table Of Contents</h2>
 <ul>
-
-<li>
-<p><a href="#build-lifecycle-basics">Build Lifecycle Basics</a></p></li>
-<li>
-<p><a href="#setting-up-your-project-to-use-the-build-lifecycle">Setting Up 
Your Project to Use the Build Lifecycle</a></p>
+<li><a href="#Build_Lifecycle_Basics">Build Lifecycle Basics</a></li>
+<li><a href="#Setting_Up_Your_Project_to_Use_the_Build_Lifecycle">Setting Up 
Your Project to Use the Build Lifecycle</a>
 <ul>
-
-<li>
-<p><a href="#packaging">Packaging</a></p></li>
-<li>
-<p><a href="#plugins">Plugins</a></p></li>
-</ul></li>
-<li>
-<p><a href="#lifecycle-reference">Lifecycle Reference</a></p></li>
-<li>
-<p><a href="#built-in-lifecycle-bindings">Built-in Lifecycle 
Bindings</a></p></li>
-</ul></section><section>
-<h3>Build Lifecycle Basics</h3>
+<li><a href="#Packaging">Packaging</a></li>
+<li><a href="#Plugins">Plugins</a></li></ul></li>
+<li><a href="#Lifecycle_Reference">Lifecycle Reference</a></li>
+<li><a href="#Built-in_Lifecycle_Bindings">Built-in Lifecycle 
Bindings</a></li></ul></section><section>
+<h2><a id="Build_Lifecycle_Basics">Build Lifecycle Basics</a></h2>
 <p>Maven is based around the central concept of a build lifecycle. What this 
means is that the process for building and distributing a particular artifact 
(project) is clearly defined.</p>
 <p>For the person building a project, this means that it is only necessary to 
learn a small set of commands to build any Maven project, and the <a 
href="./introduction-to-the-pom.html">POM</a> will ensure they get the results 
they desired.</p>
 <p>There are three built-in build lifecycles: default, clean and site. The 
<code>default</code> lifecycle handles your project deployment, the 
<code>clean</code> lifecycle handles project cleaning, while the 
<code>site</code> lifecycle handles the creation of your project's web 
site.</p><section>
-<h4>A Build Lifecycle is Made Up of Phases</h4>
+<h3><a id="A_Build_Lifecycle_is_Made_Up_of_Phases">A Build Lifecycle is Made 
Up of Phases</a></h3>
 <p>Each of these build lifecycles is defined by a different list of build 
phases, wherein a build phase represents a stage in the lifecycle.</p>
-<p>For example, the default lifecycle comprises of the following phases (for a 
complete list of the lifecycle phases, refer to the <a 
href="Lifecycle_Reference">Lifecycle Reference</a>):</p>
+<p>For example, the default lifecycle comprises of the following phases (for a 
complete list of the lifecycle phases, refer to the <a 
href="#Lifecycle_Reference">Lifecycle Reference</a>):</p>
 <ul>
-
-<li>
-<p><code>validate</code> - validate the project is correct and all necessary 
information is available</p></li>
-<li>
-<p><code>compile</code> - compile the source code of the project</p></li>
-<li>
-<p><code>test</code> - test the compiled source code using a suitable unit 
testing framework. These tests should not require the code be packaged or 
deployed</p></li>
-<li>
-<p><code>package</code> - take the compiled code and package it in its 
distributable format, such as a JAR.</p></li>
-<li>
-<p><code>verify</code> - run any checks on results of integration tests to 
ensure quality criteria are met</p></li>
-<li>
-<p><code>install</code> - install the package into the local repository, for 
use as a dependency in other projects locally</p></li>
-<li>
-<p><code>deploy</code> - done in the build environment, copies the final 
package to the remote repository for sharing with other developers and 
projects.</p></li>
-</ul>
+<li><code>validate</code> - validate the project is correct and all necessary 
information is available</li>
+<li><code>compile</code> - compile the source code of the project</li>
+<li><code>test</code> - test the compiled source code using a suitable unit 
testing framework. These tests should not require the code be packaged or 
deployed</li>
+<li><code>package</code> - take the compiled code and package it in its 
distributable format, such as a JAR.</li>
+<li><code>verify</code> - run any checks on results of integration tests to 
ensure quality criteria are met</li>
+<li><code>install</code> - install the package into the local repository, for 
use as a dependency in other projects locally</li>
+<li><code>deploy</code> - done in the build environment, copies the final 
package to the remote repository for sharing with other developers and 
projects.</li></ul>
 <p>These lifecycle phases (plus the other lifecycle phases not shown here) are 
executed sequentially to complete the <code>default</code> lifecycle. Given the 
lifecycle phases above, this means that when the default lifecycle is used, 
Maven will first validate the project, then will try to compile the sources, 
run those against the tests, package the binaries (e.g. jar), run integration 
tests against that package, verify the integration tests, install the verified 
package to the local repository, then deploy the installed package to a remote 
repository.</p>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section><section>
-<h4>Usual Command Line Calls</h4>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section><section>
+<h3><a id="Usual_Command_Line_Calls">Usual Command Line Calls</a></h3>
 <p>You should select the phase that matches your outcome. If you want your 
jar, run <code>package</code>. If you want to run the unit tests, run 
<code>test</code>.</p>
 <p>If you are uncertain what you want, the preferred phase to call is</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>mvn verify
-</code></pre></div>
+<div>
+<pre>mvn verify</pre></div>
 <p>This command executes each default lifecycle phase in order 
(<code>validate</code>, <code>compile</code>, <code>package</code>, etc.), 
before executing <code>verify</code>. You only need to call the last build 
phase to be executed, in this case, <code>verify</code>. In most cases the 
effect is the same as <code>package</code>. However, in case there are 
integration-tests, these will be executed as well. And during the 
<code>verify</code> phase some additional checks can be done, e.g. if your code 
written according to the predefined checkstyle rules.</p>
 <p>In a build environment, use the following call to cleanly build and deploy 
artifacts into the shared repository.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>mvn clean deploy
-</code></pre></div>
+<div>
+<pre>mvn clean deploy</pre></div>
 <p>The same command can be used in a multi-module scenario (i.e. a project 
with one or more subprojects). Maven traverses into every subproject and 
executes <code>clean</code>, then executes <code>deploy</code> (including all 
of the prior build phase steps).</p>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section><section>
-<h4>A Build Phase is Made Up of Plugin Goals</h4>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section><section>
+<h3><a id="A_Build_Phase_is_Made_Up_of_Plugin_Goals">A Build Phase is Made Up 
of Plugin Goals</a></h3>
 <p>However, even though a build phase is responsible for a specific step in 
the build lifecycle, the manner in which it carries out those responsibilities 
may vary. And this is done by declaring the plugin goals bound to those build 
phases.</p>
 <p>A plugin goal represents a specific task (finer than a build phase) which 
contributes to the building and managing of a project. It may be bound to zero 
or more build phases. A goal not bound to any build phase could be executed 
outside of the build lifecycle by direct invocation. The order of execution 
depends on the order in which the goal(s) and the build phase(s) are invoked. 
For example, consider the command below. The <code>clean</code> and 
<code>package</code> arguments are build phases, while the 
<code>dependency:copy-dependencies</code> is a goal (of a plugin).</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>mvn clean 
dependency:copy-dependencies package
-</code></pre></div>
+<div>
+<pre>mvn clean dependency:copy-dependencies package</pre></div>
 <p>If this were to be executed, the <code>clean</code> phase will be executed 
first (meaning it will run all preceding phases of the clean lifecycle, plus 
the <code>clean</code> phase itself), and then the 
<code>dependency:copy-dependencies</code> goal, before finally executing the 
<code>package</code> phase (and all its preceding build phases of the default 
lifecycle).</p>
 <p>Moreover, if a goal is bound to one or more build phases, that goal will be 
called in all those phases.</p>
-<p>Furthermore, a build phase can also have zero or more goals bound to it. If 
a build phase has no goals bound to it, that build phase will not execute. But 
if it has one or more goals bound to it, it will execute all those 
goals.</p><!-- ~ -->
-<!-- ~ Check if the following is true for Maven 3... -->
-
-<p>(<em>Note: In Maven 2.0.5 and above, multiple goals bound to a phase are 
executed in the same order as they are declared in the POM, however multiple 
instances of the same plugin are not supported. Multiple instances of the same 
plugin are grouped to execute together and ordered in Maven 2.0.11 and 
above</em>).</p><!-- ~ -->
-
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section><section>
-<h4>Some Phases Are Not Usually Called From the Command Line</h4>
-<p>The phases named with hyphenated-words (<code>pre-\*</code>, 
<code>post-\*</code>, or <code>process-\*</code>) are not usually directly 
called from the command line. These phases sequence the build, producing 
intermediate results that are not useful outside the build. In the case of 
invoking <code>integration-test</code>, the environment may be left in a 
hanging state.</p>
+<p>Furthermore, a build phase can also have zero or more goals bound to it. If 
a build phase has no goals bound to it, that build phase will not execute. But 
if it has one or more goals bound to it, it will execute all those goals.</p>
+<p>(<i>Note: In Maven 2.0.5 and above, multiple goals bound to a phase are 
executed in the same order as they are declared in the POM, however multiple 
instances of the same plugin are not supported. Multiple instances of the same 
plugin are grouped to execute together and ordered in Maven 2.0.11 and 
above</i>).</p>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section><section>
+<h3><a id="Some_Phases_Are_Not_Usually_Called_From_the_Command_Line">Some 
Phases Are Not Usually Called From the Command Line</a></h3>
+<p>The phases named with hyphenated-words (<code>pre-*</code>, 
<code>post-*</code>, or <code>process-*</code>) are not usually directly called 
from the command line. These phases sequence the build, producing intermediate 
results that are not useful outside the build. In the case of invoking 
<code>integration-test</code>, the environment may be left in a hanging 
state.</p>
 <p>Code coverage tools such as Jacoco and execution container plugins such as 
Tomcat, Cargo, and Docker bind goals to the <code>pre-integration-test</code> 
phase to prepare the integration test container environment. These plugins also 
bind goals to the <code>post-integration-test</code> phase to collect coverage 
statistics or decommission the integration test container.</p>
 <p>Failsafe and code coverage plugins bind goals to 
<code>integration-test</code> and <code>verify</code> phases. The net result is 
test and coverage reports are available after the <code>verify</code> phase. If 
<code>integration-test</code> were to be called from the command line, no 
reports are generated. Worse is that the integration test container environment 
is left in a hanging state; the Tomcat webserver or Docker instance is left 
running, and Maven may not even terminate by itself.</p>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section></section><section>
-<h3>Setting Up Your Project to Use the Build Lifecycle</h3>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section></section><section>
+<h2><a id="Setting_Up_Your_Project_to_Use_the_Build_Lifecycle">Setting Up Your 
Project to Use the Build Lifecycle</a></h2>
 <p>The build lifecycle is simple enough to use, but when you are constructing 
a Maven build for a project, how do you go about assigning tasks to each of 
those build phases?</p><section>
-<h4>Packaging</h4>
+<h3><a id="Packaging">Packaging</a></h3>
 <p>The first, and most common way, is to set the packaging for your project 
via the equally named POM element <code>&lt;packaging&gt;</code>. Some of the 
valid packaging values are <code>jar</code>, <code>war</code>, <code>ear</code> 
and <code>pom</code>. If no packaging value has been specified, it will default 
to <code>jar</code>.</p>
 <p>Each packaging contains a list of goals to bind to a particular phase. For 
example, the <code>jar</code> packaging will bind the following goals to build 
phases of the default lifecycle.</p>
-<table class="table table-striped">
-<thead>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td><code>process-resources</code></td>
-<td><code>resources:resources</code></td></tr>
+<td style="text-align: left;"><code>process-resources</code></td>
+<td style="text-align: left;"><code>resources:resources</code></td></tr>
 <tr class="a">
-<td><code>compile</code></td>
-<td><code>compiler:compile</code></td></tr>
+<td style="text-align: left;"><code>compile</code></td>
+<td style="text-align: left;"><code>compiler:compile</code></td></tr>
 <tr class="b">
-<td><code>process-test-resources</code></td>
-<td><code>resources:testResources</code></td></tr>
+<td style="text-align: left;"><code>process-test-resources</code></td>
+<td style="text-align: left;"><code>resources:testResources</code></td></tr>
 <tr class="a">
-<td><code>test-compile</code></td>
-<td><code>compiler:testCompile</code></td></tr>
+<td style="text-align: left;"><code>test-compile</code></td>
+<td style="text-align: left;"><code>compiler:testCompile</code></td></tr>
 <tr class="b">
-<td><code>test</code></td>
-<td><code>surefire:test</code></td></tr>
+<td style="text-align: left;"><code>test</code></td>
+<td style="text-align: left;"><code>surefire:test</code></td></tr>
 <tr class="a">
-<td><code>package</code></td>
-<td><code>jar:jar</code></td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;"><code>jar:jar</code></td></tr>
 <tr class="b">
-<td><code>install</code></td>
-<td><code>install:install</code></td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;"><code>install:install</code></td></tr>
 <tr class="a">
-<td><code>deploy</code></td>
-<td><code>deploy:deploy</code></td></tr></tbody>
-</table>
-
-<p>This is an almost <a 
href="/ref/current/maven-core/default-bindings.html">standard set of 
bindings</a>; however, some packagings handle them differently. For example, a 
project that is purely metadata (packaging value is <code>pom</code>) only 
binds goals to the <code>install</code> and <code>deploy</code> phases (for a 
complete list of goal-to-build-phase bindings of some of the packaging types, 
refer to the <a href="Lifecycle_Reference">Lifecycle Reference</a>).</p>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: left;"><code>deploy:deploy</code></td></tr></table>
+<p>This is an almost <a 
href="/ref/current/maven-core/default-bindings.html">standard set of 
bindings</a>; however, some packagings handle them differently. For example, a 
project that is purely metadata (packaging value is <code>pom</code>) only 
binds goals to the <code>install</code> and <code>deploy</code> phases (for a 
complete list of goal-to-build-phase bindings of some of the packaging types, 
refer to the <a href="#Lifecycle_Reference">Lifecycle Reference</a>).</p>
 <p>Note that for some packaging types to be available, you may also need to 
include a particular plugin in the <code>&lt;build&gt;</code> section of your 
POM and specify <code>&lt;extensions&gt;true&lt;/extensions&gt;</code> for that 
plugin. One example of a plugin that requires this is the Plexus plugin, which 
provides a <code>plexus-application</code> and <code>plexus-service</code> 
packaging.</p>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section><section>
-<h4>Plugins</h4>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section><section>
+<h3><a id="Plugins">Plugins</a></h3>
 <p>The second way to add goals to phases is to configure plugins in your 
project. Plugins are artifacts that provide goals to Maven. Furthermore, a 
plugin may have one or more goals wherein each goal represents a capability of 
that plugin. For example, the Compiler plugin has two goals: 
<code>compile</code> and <code>testCompile</code>. The former compiles the 
source code of your main code, while the latter compiles the source code of 
your test code.</p>
 <p>As you will see in the later sections, plugins can contain information that 
indicates which lifecycle phase to bind a goal to. Note that adding the plugin 
on its own is not enough information - you must also specify the goals you want 
to run as part of your build.</p>
 <p>The goals that are configured will be added to the goals already bound to 
the lifecycle from the packaging selected. If more than one goal is bound to a 
particular phase, the order used is that those from the packaging are executed 
first, followed by those configured in the POM. Note that you can use the 
<code>&lt;executions&gt;</code> element to gain more control over the order of 
particular goals.</p>
 <p>For example, the Modello plugin binds by default its goal 
<code>modello:java</code> to the <code>generate-sources</code> phase (Note: The 
<code>modello:java</code> goal generates Java source codes). So to use the 
Modello plugin and have it generate sources from a model and incorporate that 
into the build, you would add the following to your POM in the 
<code>&lt;plugins&gt;</code> section of <code>&lt;build&gt;</code>:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml"> &lt;plugin&gt;
+<div class="source"><pre class="prettyprint linenums"> &lt;plugin&gt;
    &lt;groupId&gt;org.codehaus.modello&lt;/groupId&gt;
    &lt;artifactId&gt;modello-maven-plugin&lt;/artifactId&gt;
    &lt;version&gt;1.8.1&lt;/version&gt;
@@ -304,13 +258,11 @@ under the License.
        &lt;/goals&gt;
      &lt;/execution&gt;
    &lt;/executions&gt;
- &lt;/plugin&gt;
-</code></pre></div>
+ &lt;/plugin&gt;</pre></div>
 <p>You might be wondering why that <code>&lt;executions&gt;</code> element is 
there. That is so that you can run the same goal multiple times with different 
configuration if needed. Separate executions can also be given an ID so that 
during inheritance or the application of profiles you can control whether goal 
configuration is merged or turned into an additional execution.</p>
 <p>When multiple executions are given that match a particular phase, they are 
executed in the order specified in the POM, with inherited executions running 
first.</p>
 <p>Now, in the case of <code>modello:java</code>, it only makes sense in the 
<code>generate-sources</code> phase. But some goals can be used in more than 
one phase, and there may not be a sensible default. For those, you can specify 
the phase yourself. For example, let's say you have a goal 
<code>display:time</code> that echos the current time to the commandline, and 
you want it to run in the <code>process-test-resources</code> phase to indicate 
when the tests were started. This would be configured like so:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml"> &lt;plugin&gt;
+<div class="source"><pre class="prettyprint linenums"> &lt;plugin&gt;
    &lt;groupId&gt;com.mycompany.example&lt;/groupId&gt;
    &lt;artifactId&gt;display-maven-plugin&lt;/artifactId&gt;
    &lt;version&gt;1.0&lt;/version&gt;
@@ -322,264 +274,237 @@ under the License.
        &lt;/goals&gt;
      &lt;/execution&gt;
    &lt;/executions&gt;
- &lt;/plugin&gt;
-</code></pre></div>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section></section><section>
-<h3>Lifecycle Reference</h3>
+ &lt;/plugin&gt;</pre></div>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section></section><section>
+<h2><a id="Lifecycle_Reference">Lifecycle Reference</a></h2>
 <p>The following lists all build phases of the <code>default</code>, 
<code>clean</code> and <code>site</code> lifecycles, which are executed in the 
order given up to the point of the one specified.</p><section>
-<h4>Clean Lifecycle</h4>
-<table class="table table-striped">
-<thead>
+<h3>Clean Lifecycle</h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>Description</th></tr></thead><tbody>
+<th>Description</th></tr>
 <tr class="b">
-<td><code>pre-clean</code></td>
-<td>execute processes needed prior to the actual project cleaning</td></tr>
+<td style="text-align: left;"><code>pre-clean</code></td>
+<td style="text-align: left;">execute processes needed prior to the actual 
project cleaning</td></tr>
 <tr class="a">
-<td><code>clean</code></td>
-<td>remove all files generated by the previous build</td></tr>
+<td style="text-align: left;"><code>clean</code></td>
+<td style="text-align: left;">remove all files generated by the previous 
build</td></tr>
 <tr class="b">
-<td><code>post-clean</code></td>
-<td>execute processes needed to finalize the project cleaning</td></tr></tbody>
-</table>
-</section><section>
-<h4>Default Lifecycle</h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>post-clean</code></td>
+<td style="text-align: left;">execute processes needed to finalize the project 
cleaning</td></tr></table></section><section>
+<h3>Default Lifecycle</h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>Description</th></tr></thead><tbody>
+<th>Description</th></tr>
 <tr class="b">
-<td><code>validate</code></td>
-<td>validate the project is correct and all necessary information is 
available.</td></tr>
+<td style="text-align: left;"><code>validate</code></td>
+<td style="text-align: left;">validate the project is correct and all 
necessary information is available.</td></tr>
 <tr class="a">
-<td><code>initialize</code></td>
-<td>initialize build state, e.g. set properties or create 
directories.</td></tr>
+<td style="text-align: left;"><code>initialize</code></td>
+<td style="text-align: left;">initialize build state, e.g. set properties or 
create directories.</td></tr>
 <tr class="b">
-<td><code>generate-sources</code></td>
-<td>generate any source code for inclusion in compilation.</td></tr>
+<td style="text-align: left;"><code>generate-sources</code></td>
+<td style="text-align: left;">generate any source code for inclusion in 
compilation.</td></tr>
 <tr class="a">
-<td><code>process-sources</code></td>
-<td>process the source code, for example to filter any values.</td></tr>
+<td style="text-align: left;"><code>process-sources</code></td>
+<td style="text-align: left;">process the source code, for example to filter 
any values.</td></tr>
 <tr class="b">
-<td><code>generate-resources</code></td>
-<td>generate resources for inclusion in the package.</td></tr>
+<td style="text-align: left;"><code>generate-resources</code></td>
+<td style="text-align: left;">generate resources for inclusion in the 
package.</td></tr>
 <tr class="a">
-<td><code>process-resources</code></td>
-<td>copy and process the resources into the destination directory, ready for 
packaging.</td></tr>
+<td style="text-align: left;"><code>process-resources</code></td>
+<td style="text-align: left;">copy and process the resources into the 
destination directory, ready for packaging.</td></tr>
 <tr class="b">
-<td><code>compile</code></td>
-<td>compile the source code of the project.</td></tr>
+<td style="text-align: left;"><code>compile</code></td>
+<td style="text-align: left;">compile the source code of the project.</td></tr>
 <tr class="a">
-<td><code>process-classes</code></td>
-<td>post-process the generated files from compilation, for example to do 
bytecode enhancement on Java classes.</td></tr>
+<td style="text-align: left;"><code>process-classes</code></td>
+<td style="text-align: left;">post-process the generated files from 
compilation, for example to do bytecode enhancement on Java classes.</td></tr>
 <tr class="b">
-<td><code>generate-test-sources</code></td>
-<td>generate any test source code for inclusion in compilation.</td></tr>
+<td style="text-align: left;"><code>generate-test-sources</code></td>
+<td style="text-align: left;">generate any test source code for inclusion in 
compilation.</td></tr>
 <tr class="a">
-<td><code>process-test-sources</code></td>
-<td>process the test source code, for example to filter any values.</td></tr>
+<td style="text-align: left;"><code>process-test-sources</code></td>
+<td style="text-align: left;">process the test source code, for example to 
filter any values.</td></tr>
 <tr class="b">
-<td><code>generate-test-resources</code></td>
-<td>create resources for testing.</td></tr>
+<td style="text-align: left;"><code>generate-test-resources</code></td>
+<td style="text-align: left;">create resources for testing.</td></tr>
 <tr class="a">
-<td><code>process-test-resources</code></td>
-<td>copy and process the resources into the test destination 
directory.</td></tr>
+<td style="text-align: left;"><code>process-test-resources</code></td>
+<td style="text-align: left;">copy and process the resources into the test 
destination directory.</td></tr>
 <tr class="b">
-<td><code>test-compile</code></td>
-<td>compile the test source code into the test destination directory</td></tr>
+<td style="text-align: left;"><code>test-compile</code></td>
+<td style="text-align: left;">compile the test source code into the test 
destination directory</td></tr>
 <tr class="a">
-<td><code>process-test-classes</code></td>
-<td>post-process the generated files from test compilation, for example to do 
bytecode enhancement on Java classes.</td></tr>
+<td style="text-align: left;"><code>process-test-classes</code></td>
+<td style="text-align: left;">post-process the generated files from test 
compilation, for example to do bytecode enhancement on Java classes.</td></tr>
 <tr class="b">
-<td><code>test</code></td>
-<td>run tests using a suitable unit testing framework. These tests should not 
require the code be packaged or deployed.</td></tr>
+<td style="text-align: left;"><code>test</code></td>
+<td style="text-align: left;">run tests using a suitable unit testing 
framework. These tests should not require the code be packaged or 
deployed.</td></tr>
 <tr class="a">
-<td><code>prepare-package</code></td>
-<td>perform any operations necessary to prepare a package before the actual 
packaging. This often results in an unpacked, processed version of the 
package.</td></tr>
+<td style="text-align: left;"><code>prepare-package</code></td>
+<td style="text-align: left;">perform any operations necessary to prepare a 
package before the actual packaging. This often results in an unpacked, 
processed version of the package.</td></tr>
 <tr class="b">
-<td><code>package</code></td>
-<td>take the compiled code and package it in its distributable format, such as 
a JAR.</td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;">take the compiled code and package it in its 
distributable format, such as a JAR.</td></tr>
 <tr class="a">
-<td><code>pre-integration-test</code></td>
-<td>perform actions required before integration tests are executed. This may 
involve things such as setting up the required environment.</td></tr>
+<td style="text-align: left;"><code>pre-integration-test</code></td>
+<td style="text-align: left;">perform actions required before integration 
tests are executed. This may involve things such as setting up the required 
environment.</td></tr>
 <tr class="b">
-<td><code>integration-test</code></td>
-<td>process and deploy the package if necessary into an environment where 
integration tests can be run.</td></tr>
+<td style="text-align: left;"><code>integration-test</code></td>
+<td style="text-align: left;">process and deploy the package if necessary into 
an environment where integration tests can be run.</td></tr>
 <tr class="a">
-<td><code>post-integration-test</code></td>
-<td>perform actions required after integration tests have been executed. This 
may including cleaning up the environment.</td></tr>
+<td style="text-align: left;"><code>post-integration-test</code></td>
+<td style="text-align: left;">perform actions required after integration tests 
have been executed. This may including cleaning up the environment.</td></tr>
 <tr class="b">
-<td><code>verify</code></td>
-<td>run any checks to verify the package is valid and meets quality 
criteria.</td></tr>
+<td style="text-align: left;"><code>verify</code></td>
+<td style="text-align: left;">run any checks to verify the package is valid 
and meets quality criteria.</td></tr>
 <tr class="a">
-<td><code>install</code></td>
-<td>install the package into the local repository, for use as a dependency in 
other projects locally.</td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;">install the package into the local repository, 
for use as a dependency in other projects locally.</td></tr>
 <tr class="b">
-<td><code>deploy</code></td>
-<td>done in an integration or release environment, copies the final package to 
the remote repository for sharing with other developers and 
projects.</td></tr></tbody>
-</table>
-</section><section>
-<h4>Site Lifecycle</h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: left;">done in an integration or release environment, 
copies the final package to the remote repository for sharing with other 
developers and projects.</td></tr></table></section><section>
+<h3>Site Lifecycle</h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>Description</th></tr></thead><tbody>
+<th>Description</th></tr>
 <tr class="b">
-<td><code>pre-site</code></td>
-<td>execute processes needed prior to the actual project site 
generation</td></tr>
+<td style="text-align: left;"><code>pre-site</code></td>
+<td style="text-align: left;">execute processes needed prior to the actual 
project site generation</td></tr>
 <tr class="a">
-<td><code>site</code></td>
-<td>generate the project's site documentation</td></tr>
+<td style="text-align: left;"><code>site</code></td>
+<td style="text-align: left;">generate the project's site 
documentation</td></tr>
 <tr class="b">
-<td><code>post-site</code></td>
-<td>execute processes needed to finalize the site generation, and to prepare 
for site deployment</td></tr>
+<td style="text-align: left;"><code>post-site</code></td>
+<td style="text-align: left;">execute processes needed to finalize the site 
generation, and to prepare for site deployment</td></tr>
 <tr class="a">
-<td><code>site-deploy</code></td>
-<td>deploy the generated site documentation to the specified web 
server</td></tr></tbody>
-</table>
-
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section></section><section>
-<h3>Built-in Lifecycle Bindings</h3>
+<td style="text-align: left;"><code>site-deploy</code></td>
+<td style="text-align: left;">deploy the generated site documentation to the 
specified web server</td></tr></table>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section></section><section>
+<h2><a id="Built-in_Lifecycle_Bindings">Built-in Lifecycle Bindings</a></h2>
 <p>Some phases have goals bound to them by default. And for the default 
lifecycle, these bindings depend on the packaging value. Here are some of the 
goal-to-build-phase bindings.</p><section>
-<h4>Clean Lifecycle Bindings</h4>
-<table class="table table-striped">
-<thead>
+<h3>Clean Lifecycle Bindings</h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td><code>clean</code></td>
-<td><code>clean:clean</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>Default Lifecycle Bindings - Packaging <code>ejb</code> / 
<code>ejb3</code> / <code>jar</code> / <code>par</code> / <code>rar</code> / 
<code>war</code></h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>clean</code></td>
+<td style="text-align: 
left;"><code>clean:clean</code></td></tr></table></section><section>
+<h3>Default Lifecycle Bindings - Packaging <code>ejb</code> / 
<code>ejb3</code> / <code>jar</code> / <code>par</code> / <code>rar</code> / 
<code>war</code></h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td><code>process-resources</code></td>
-<td><code>resources:resources</code></td></tr>
+<td style="text-align: left;"><code>process-resources</code></td>
+<td style="text-align: left;"><code>resources:resources</code></td></tr>
 <tr class="a">
-<td><code>compile</code></td>
-<td><code>compiler:compile</code></td></tr>
+<td style="text-align: left;"><code>compile</code></td>
+<td style="text-align: left;"><code>compiler:compile</code></td></tr>
 <tr class="b">
-<td><code>process-test-resources</code></td>
-<td><code>resources:testResources</code></td></tr>
+<td style="text-align: left;"><code>process-test-resources</code></td>
+<td style="text-align: left;"><code>resources:testResources</code></td></tr>
 <tr class="a">
-<td><code>test-compile</code></td>
-<td><code>compiler:testCompile</code></td></tr>
+<td style="text-align: left;"><code>test-compile</code></td>
+<td style="text-align: left;"><code>compiler:testCompile</code></td></tr>
 <tr class="b">
-<td><code>test</code></td>
-<td><code>surefire:test</code></td></tr>
+<td style="text-align: left;"><code>test</code></td>
+<td style="text-align: left;"><code>surefire:test</code></td></tr>
 <tr class="a">
-<td><code>package</code></td>
-<td><code>ejb:ejb</code> <em>or</em> <code>ejb3:ejb3</code> <em>or</em> 
<code>jar:jar</code> <em>or</em> <code>par:par</code> <em>or</em> 
<code>rar:rar</code> <em>or</em> <code>war:war</code></td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;"><code>ejb:ejb</code> <i>or</i> 
<code>ejb3:ejb3</code> <i>or</i> <code>jar:jar</code> <i>or</i> 
<code>par:par</code> <i>or</i> <code>rar:rar</code> <i>or</i> 
<code>war:war</code></td></tr>
 <tr class="b">
-<td><code>install</code></td>
-<td><code>install:install</code></td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;"><code>install:install</code></td></tr>
 <tr class="a">
-<td><code>deploy</code></td>
-<td><code>deploy:deploy</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>Default Lifecycle Bindings - Packaging <code>ear</code></h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: 
left;"><code>deploy:deploy</code></td></tr></table></section><section>
+<h3>Default Lifecycle Bindings - Packaging <code>ear</code></h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
+<tr class="b">
+<td style="text-align: left;"><code>generate-resources</code></td>
+<td style="text-align: 
left;"><code>ear:generate-application-xml</code></td></tr>
+<tr class="a">
+<td style="text-align: left;"><code>process-resources</code></td>
+<td style="text-align: left;"><code>resources:resources</code></td></tr>
 <tr class="b">
-<td><code>generate-resources</code></td>
-<td><code>ear:generate-application-xml</code></td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;"><code>ear:ear</code></td></tr>
 <tr class="a">
-<td><code>process-resources</code></td>
-<td><code>resources:resources</code></td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;"><code>install:install</code></td></tr>
 <tr class="b">
-<td><code>package</code></td>
-<td><code>ear:ear</code></td></tr>
-<tr class="a">
-<td><code>install</code></td>
-<td><code>install:install</code></td></tr>
-<tr class="b">
-<td><code>deploy</code></td>
-<td><code>deploy:deploy</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>Default Lifecycle Bindings - Packaging <code>maven-plugin</code></h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: 
left;"><code>deploy:deploy</code></td></tr></table></section><section>
+<h3>Default Lifecycle Bindings - Packaging <code>maven-plugin</code></h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td><code>generate-resources</code></td>
-<td><code>plugin:descriptor</code></td></tr>
+<td style="text-align: left;"><code>generate-resources</code></td>
+<td style="text-align: left;"><code>plugin:descriptor</code></td></tr>
 <tr class="a">
-<td><code>process-resources</code></td>
-<td><code>resources:resources</code></td></tr>
+<td style="text-align: left;"><code>process-resources</code></td>
+<td style="text-align: left;"><code>resources:resources</code></td></tr>
 <tr class="b">
-<td><code>compile</code></td>
-<td><code>compiler:compile</code></td></tr>
+<td style="text-align: left;"><code>compile</code></td>
+<td style="text-align: left;"><code>compiler:compile</code></td></tr>
 <tr class="a">
-<td><code>process-test-resources</code></td>
-<td><code>resources:testResources</code></td></tr>
+<td style="text-align: left;"><code>process-test-resources</code></td>
+<td style="text-align: left;"><code>resources:testResources</code></td></tr>
 <tr class="b">
-<td><code>test-compile</code></td>
-<td><code>compiler:testCompile</code></td></tr>
+<td style="text-align: left;"><code>test-compile</code></td>
+<td style="text-align: left;"><code>compiler:testCompile</code></td></tr>
 <tr class="a">
-<td><code>test</code></td>
-<td><code>surefire:test</code></td></tr>
+<td style="text-align: left;"><code>test</code></td>
+<td style="text-align: left;"><code>surefire:test</code></td></tr>
 <tr class="b">
-<td><code>package</code></td>
-<td><code>jar:jar</code> <em>and</em> 
<code>plugin:addPluginArtifactMetadata</code></td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;"><code>jar:jar</code> <i>and</i> 
<code>plugin:addPluginArtifactMetadata</code></td></tr>
 <tr class="a">
-<td><code>install</code></td>
-<td><code>install:install</code></td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;"><code>install:install</code></td></tr>
 <tr class="b">
-<td><code>deploy</code></td>
-<td><code>deploy:deploy</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>Default Lifecycle Bindings - Packaging <code>pom</code></h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: 
left;"><code>deploy:deploy</code></td></tr></table></section><section>
+<h3>Default Lifecycle Bindings - Packaging <code>pom</code></h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td colspan="2"><code>package</code></td></tr>
+<td style="text-align: left;"><code>package</code></td>
+<td style="text-align: left;"></td></tr>
 <tr class="a">
-<td><code>install</code></td>
-<td><code>install:install</code></td></tr>
+<td style="text-align: left;"><code>install</code></td>
+<td style="text-align: left;"><code>install:install</code></td></tr>
 <tr class="b">
-<td><code>deploy</code></td>
-<td><code>deploy:deploy</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>Site Lifecycle Bindings</h4>
-<table class="table table-striped">
-<thead>
+<td style="text-align: left;"><code>deploy</code></td>
+<td style="text-align: 
left;"><code>deploy:deploy</code></td></tr></table></section><section>
+<h3>Site Lifecycle Bindings</h3>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
 <th>Phase</th>
-<th>plugin:goal</th></tr></thead><tbody>
+<th>plugin:goal</th></tr>
 <tr class="b">
-<td><code>site</code></td>
-<td><code>site:site</code></td></tr>
+<td style="text-align: left;"><code>site</code></td>
+<td style="text-align: left;"><code>site:site</code></td></tr>
 <tr class="a">
-<td><code>site-deploy</code></td>
-<td><code>site:deploy</code></td></tr></tbody>
-</table>
-</section><section>
-<h4>References</h4>
+<td style="text-align: left;"><code>site-deploy</code></td>
+<td style="text-align: 
left;"><code>site:deploy</code></td></tr></table></section><section>
+<h3>References</h3>
 <p>The full Maven lifecycle is defined by the <code>components.xml</code> file 
in the <code>maven-core</code> module, with <a 
href="/ref/current/maven-core/lifecycles.html">associated documentation</a> for 
reference.</p>
-<p>Default lifecycle bindings are defined in a separate 
<code>[default-bindings.xml](https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml)</code>
 descriptor.</p>
+<p>Default lifecycle bindings are defined in a separate <code><a 
class="externalLink" 
href="https://github.com/apache/maven/blob/master/maven-core/src/main/resources/META-INF/plexus/default-bindings.xml";>default-bindings.xml</a></code>
 descriptor.</p>
 <p>See <a href="/ref/current/maven-core/lifecycles.html">Lifecycles 
Reference</a> and <a 
href="/ref/current/maven-core/default-bindings.html">Plugin Bindings for 
default Lifecycle Reference</a> for latest documentation taken directly from 
source code.</p>
-<p><em><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</em></p></section></section></section></section>
+<p><i><a 
href="./introduction-to-the-lifecycle.html">[top]</a>.</i></p></section></section></section>
         </main>
       </div>
     </div>

Modified: maven/website/content/guides/introduction/introduction-to-the-pom.html
==============================================================================
--- maven/website/content/guides/introduction/introduction-to-the-pom.html 
(original)
+++ maven/website/content/guides/introduction/introduction-to-the-pom.html Sat 
Feb 18 20:40:58 2023
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/markdown/guides/introduction/introduction-to-the-pom.md at 2023-02-18
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/apt/guides/introduction/introduction-to-the-pom.apt at 2023-02-18
  | Rendered using Apache Maven Fluido Skin 1.11.1
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="">
@@ -10,7 +10,10 @@
     <meta charset="UTF-8" />
     <meta name="viewport" content="width=device-width, initial-scale=1" />
     <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M4" 
/>
-    <meta name="author" content="Jason van Zyl" />
+    <meta name="author" content="Jason van Zyl
+Franz Allan Valencia See
+Brett Porter" />
+    <meta name="date" content="2009-02-04" />
     <title>Maven &#x2013; Introduction to the POM</title>
     <link rel="stylesheet" href="../../css/apache-maven-fluido-1.11.1.min.css" 
/>
     <link rel="stylesheet" href="../../css/site.css" />
@@ -47,7 +50,7 @@
           <ul class="breadcrumb">
       <li class=""><a href="https://www.apache.org/"; class="externalLink" 
title="Apache">Apache</a><span class="divider">/</span></li>
       <li class=""><a href="../../index.html" title="Maven">Maven</a><span 
class="divider">/</span></li>
-    <li class="active ">Introduction to the POM <a 
href="https://github.com/apache/maven-site/tree/master/content/markdown/guides/introduction/introduction-to-the-pom.md";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
+    <li class="active ">Introduction to the POM <a 
href="https://github.com/apache/maven-site/tree/master/content/apt/guides/introduction/introduction-to-the-pom.apt";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
         <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2023-02-18</li>
         <li class="pull-right"><span class="divider">|</span>
 <a href="../../scm.html" title="Get Sources">Get Sources</a></li>
@@ -144,137 +147,85 @@
           </div>
         </header>
         <main id="bodyColumn"  class="span10" >
-<p>Franz Allan Valencia See
-Brett Porter
-date: 2009-02-04</p><!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<section><section>
-<h2>Introduction to the POM</h2>
+<section>
+<h1>Introduction to the POM</h1>
 <ul>
-
-<li>
-<p><a href="./introduction-to-the-pom.html#what-is-a-pom">What is a 
POM</a>?</p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#super-pom">Super POM</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#minimal-pom">Minimal 
POM</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#project-inheritance">Project 
Inheritance</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#example-1">Example 1</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#example-2">Example 2</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#project-aggregation">Project 
Aggregation</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#example-3">Example 3</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#example-4">Example 4</a></p></li>
-<li>
-<p><a 
href="./introduction-to-the-pom.html#project-inheritance-vs-project-aggregation">Project
 Inheritance vs Project Aggregation</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#example-5">Example 5</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#project-nterpolation">Project 
Interpolation and Variables</a></p></li>
-<li>
-<p><a href="./introduction-to-the-pom.html#available-variables">Available 
Variables</a></p></li>
-</ul><section>
-<h3>What is a POM?</h3>
+<li><a href="./introduction-to-the-pom.html#What_is_a_POM">What is a 
POM</a>?</li>
+<li><a href="./introduction-to-the-pom.html#Super_POM">Super POM</a></li>
+<li><a href="./introduction-to-the-pom.html#Minimal_POM">Minimal POM</a></li>
+<li><a href="./introduction-to-the-pom.html#Project_Inheritance">Project 
Inheritance</a>
+<ul>
+<li><a href="./introduction-to-the-pom.html#Example_1">Example 1</a></li>
+<li><a href="./introduction-to-the-pom.html#Example_2">Example 
2</a></li></ul></li>
+<li><a href="./introduction-to-the-pom.html#Project_Aggregation">Project 
Aggregation</a>
+<ul>
+<li><a href="./introduction-to-the-pom.html#Example_3">Example 3</a></li>
+<li><a href="./introduction-to-the-pom.html#Example_4">Example 
4</a></li></ul></li>
+<li><a 
href="./introduction-to-the-pom.html#Project_Inheritance_vs_Project_Aggregation">Project
 Inheritance vs Project Aggregation</a>
+<ul>
+<li><a href="./introduction-to-the-pom.html#Example_5">Example 
5</a></li></ul></li>
+<li><a href="./introduction-to-the-pom.html#Project_Interpolation">Project 
Interpolation and Variables</a>
+<ul>
+<li><a href="./introduction-to-the-pom.html#Available_Variables">Available 
Variables</a></li></ul></li></ul><section>
+<h2><a id="What_is_a_POM">What is a POM</a>?</h2>
 <p>A Project Object Model or POM is the fundamental unit of work in Maven. It 
is an XML file that contains information about the project and configuration 
details used by Maven to build the project. It contains default values for most 
projects. Examples for this is the build directory, which is 
<code>target</code>; the source directory, which is <code>src/main/java</code>; 
the test source directory, which is <code>src/test/java</code>; and so on. When 
executing a task or goal, Maven looks for the POM in the current directory. It 
reads the POM, gets the needed configuration information, then executes the 
goal.</p>
 <p>Some of the configuration that can be specified in the POM are the project 
dependencies, the plugins or goals that can be executed, the build profiles, 
and so on. Other information such as the project version, description, 
developers, mailing lists and such can also be specified.</p>
 <p><a href="./introduction-to-the-pom.html">[top]</a></p></section><section>
-<h3>Super POM</h3>
+<h2><a id="Super_POM">Super POM</a></h2>
 <p>The Super POM is Maven's default POM. All POMs extend the Super POM unless 
explicitly set, meaning the configuration specified in the Super POM is 
inherited by the POMs you created for your projects.</p>
 <p>You can see the <a 
href="/ref/3.6.3/maven-model-builder/super-pom.html">Super POM for Maven 
3.6.3</a> in Maven Core reference documentation.</p>
 <p><a href="./introduction-to-the-pom.html">[top]</a></p></section><section>
-<h3>Minimal POM</h3>
+<h2><a id="Minimal_POM">Minimal POM</a></h2>
 <p>The minimum requirement for a POM are the following:</p>
 <ul>
-
-<li>
-<p><code>project</code> root</p></li>
-<li>
-<p><code>modelVersion</code> - should be set to 4.0.0</p></li>
-<li>
-<p><code>groupId</code> - the id of the project's group.</p></li>
-<li>
-<p><code>artifactId</code> - the id of the artifact (project)</p></li>
-<li>
-<p><code>version</code> - the version of the artifact under the specified 
group</p></li>
-</ul>
+<li><code>project</code> root</li>
+<li><code>modelVersion</code> - should be set to 4.0.0</li>
+<li><code>groupId</code> - the id of the project's group.</li>
+<li><code>artifactId</code> - the id of the artifact (project)</li>
+<li><code>version</code> - the version of the artifact under the specified 
group</li></ul>
 <p>Here's an example:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-app&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p>A POM requires that its groupId, artifactId, and version be configured. 
These three values form the project's fully qualified artifact name. This is in 
the form of <code>&lt;groupId&gt;:&lt;artifactId&gt;:&lt;version&gt;</code>. As 
for the example above, its fully qualified artifact name is 
&#x201c;com.mycompany.app:my-app:1&#x201d;.</p>
-<p>Also, as mentioned in the <a href="#hat-is-a-pom">first section</a>, if the 
configuration details are not specified, Maven will use their defaults. One of 
these default values is the packaging type. Every Maven project has a packaging 
type. If it is not specified in the POM, then the default value 
&#x201c;jar&#x201d; would be used.</p>
-<p>Furthermore, you can see that in the minimal POM the <em>repositories</em> 
were not specified. If you build your project using the minimal POM, it would 
inherit the <em>repositories</em> configuration in the Super POM. Therefore 
when Maven sees the dependencies in the minimal POM, it would know that these 
dependencies will be downloaded from 
<code>https://repo.maven.apache.org/maven2</code> which was specified in the 
Super POM.</p>
+&lt;/project&gt;</pre></div>
+<p>A POM requires that its groupId, artifactId, and version be configured. 
These three values form the project's fully qualified artifact name. This is in 
the form of &lt;groupId&gt;:&lt;artifactId&gt;:&lt;version&gt;. As for the 
example above, its fully qualified artifact name is 
&quot;com.mycompany.app:my-app:1&quot;.</p>
+<p>Also, as mentioned in the <a href="#What_is_a_POM">first section</a>, if 
the configuration details are not specified, Maven will use their defaults. One 
of these default values is the packaging type. Every Maven project has a 
packaging type. If it is not specified in the POM, then the default value 
&quot;jar&quot; would be used.</p>
+<p>Furthermore, you can see that in the minimal POM the <i>repositories</i> 
were not specified. If you build your project using the minimal POM, it would 
inherit the <i>repositories</i> configuration in the Super POM. Therefore when 
Maven sees the dependencies in the minimal POM, it would know that these 
dependencies will be downloaded from 
<code>https://repo.maven.apache.org/maven2</code> which was specified in the 
Super POM.</p>
 <p><a href="./introduction-to-the-pom.html">[top]</a></p></section><section>
-<h3>Project Inheritance</h3>
+<h2><a id="Project_Inheritance">Project Inheritance</a></h2>
 <p>Elements in the POM that are merged are the following:</p>
 <ul>
-
-<li>
-<p>dependencies</p></li>
-<li>
-<p>developers and contributors</p></li>
-<li>
-<p>plugin lists (including reports)</p></li>
-<li>
-<p>plugin executions with matching ids</p></li>
-<li>
-<p>plugin configuration</p></li>
-<li>
-<p>resources</p></li>
-</ul>
+<li>dependencies</li>
+<li>developers and contributors</li>
+<li>plugin lists (including reports)</li>
+<li>plugin executions with matching ids</li>
+<li>plugin configuration</li>
+<li>resources</li></ul>
 <p>The Super POM is one example of project inheritance, however you can also 
introduce your own parent POMs by specifying the parent element in the POM, as 
demonstrated in the following examples.</p><section>
-<h4>Example 1</h4><section>
-<h5>The Scenario</h5>
+<h3><a id="Example_1">Example 1</a></h3><section>
+<h4>The Scenario</h4>
 <p>As an example, let us reuse our previous artifact, 
com.mycompany.app:my-app:1. And let us introduce another artifact, 
com.mycompany.app:my-module:1.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
+&lt;/project&gt;</pre></div>
 <p>And let us specify their directory structure as the following:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>.
+<div>
+<pre>.
  |-- my-module
  |   `-- pom.xml
- `-- pom.xml
-</code></pre></div>
-<p><strong>Note:</strong> <code>my-module/pom.xml</code> is the POM of 
com.mycompany.app:my-module:1 while <code>pom.xml</code> is the POM of 
com.mycompany.app:my-app:1</p></section><section>
-<h5>The Solution</h5>
+ `-- pom.xml</pre></div>
+<p><b>Note:</b> <code>my-module/pom.xml</code> is the POM of 
com.mycompany.app:my-module:1 while <code>pom.xml</code> is the POM of 
com.mycompany.app:my-app:1</p></section><section>
+<h4>The Solution</h4>
 <p>Now, if we were to turn com.mycompany.app:my-app:1 into a parent artifact 
of com.mycompany.app:my-module:1,we will have to modify 
com.mycompany.app:my-module:1's POM to the following configuration:</p>
-<p><strong>com.mycompany.app:my-module:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<p><b>com.mycompany.app:my-module:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;parent&gt;
@@ -286,12 +237,10 @@ under the License.
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
+&lt;/project&gt;</pre></div>
 <p>Notice that we now have an added section, the parent section. This section 
allows us to specify which artifact is the parent of our POM. And we do so by 
specifying the fully qualified artifact name of the parent POM. With this 
setup, our module can now inherit some of the properties of our parent POM.</p>
 <p>Alternatively, if you want the groupId or the version of your modules to be 
the same as their parents, you can remove the groupId or the version identity 
of your module in its POM.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;parent&gt;
@@ -301,25 +250,22 @@ under the License.
   &lt;/parent&gt;
 
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
-&lt;/project&gt;
-</code></pre></div>
+&lt;/project&gt;</pre></div>
 <p>This allows the module to inherit the groupId or the version of its parent 
POM.</p>
 <p><a 
href="./introduction-to-the-pom.html">[top]</a></p></section></section><section>
-<h4>Example 2</h4><section>
-<h5>The Scenario</h5>
+<h3><a id="Example_2">Example 2</a></h3><section>
+<h4>The Scenario</h4>
 <p>However, that would work if the parent project was already installed in our 
local repository or was in that specific directory structure (parent 
<code>pom.xml</code> is one directory higher than that of the module's 
<code>pom.xml</code>).</p>
 <p>But what if the parent is not yet installed and if the directory structure 
is as in the following example?</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>.
+<div>
+<pre>.
  |-- my-module
  |   `-- pom.xml
  `-- parent
-     `-- pom.xml
-</code></pre></div></section><section>
-<h5>The Solution</h5>
+     `-- pom.xml</pre></div></section><section>
+<h4>The Solution</h4>
 <p>To address this directory structure (or any other directory structure), we 
would have to add the <code>&lt;relativePath&gt;</code> element to our parent 
section.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;parent&gt;
@@ -330,53 +276,42 @@ under the License.
   &lt;/parent&gt;
 
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
-&lt;/project&gt;
-</code></pre></div>
+&lt;/project&gt;</pre></div>
 <p>As the name suggests, it's the relative path from the module's 
<code>pom.xml</code> to the parent's 
<code>pom.xml</code>.</p></section></section></section><section>
-<h3>Project Aggregation</h3>
-<p>Project Aggregation is similar to <a href="#project-inheritance">Project 
Inheritance</a>. But instead of specifying the parent POM from the module, it 
specifies the modules from the parent POM. By doing so, the parent project now 
knows its modules, and if a Maven command is invoked against the parent 
project, that Maven command will then be executed to the parent's modules as 
well. To do Project Aggregation, you must do the following:</p>
+<h2><a id="Project_Aggregation">Project Aggregation</a></h2>
+<p>Project Aggregation is similar to <a href="#Project_Inheritance">Project 
Inheritance</a>. But instead of specifying the parent POM from the module, it 
specifies the modules from the parent POM. By doing so, the parent project now 
knows its modules, and if a Maven command is invoked against the parent 
project, that Maven command will then be executed to the parent's modules as 
well. To do Project Aggregation, you must do the following:</p>
 <ul>
-
-<li>
-<p>Change the parent POMs packaging to the value &#x201c;pom&#x201d;.</p></li>
-<li>
-<p>Specify in the parent POM the directories of its modules (children 
POMs).</p></li>
-</ul>
+<li>Change the parent POMs packaging to the value &quot;pom&quot;.</li>
+<li>Specify in the parent POM the directories of its modules (children 
POMs).</li></ul>
 <p><a href="./introduction-to-the-pom.html">[top]</a></p><section>
-<h4>Example 3</h4><section>
-<h5>The Scenario</h5>
+<h3><a id="Example_3">Example 3</a></h3><section>
+<h4>The Scenario</h4>
 <p>Given the previous original artifact POMs and directory structure:</p>
-<p><strong>com.mycompany.app:my-app:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<p><b>com.mycompany.app:my-app:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-app&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p><strong>com.mycompany.app:my-module:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+&lt;/project&gt;</pre></div>
+<p><b>com.mycompany.app:my-module:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p><strong>directory structure</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code>.
+&lt;/project&gt;</pre></div>
+<p><b>directory structure</b></p>
+<div>
+<pre>.
  |-- my-module
  |   `-- pom.xml
- `-- pom.xml
-</code></pre></div></section><section>
-<h5>The Solution</h5>
+ `-- pom.xml</pre></div></section><section>
+<h4>The Solution</h4>
 <p>If we are to aggregate my-module into my-app, we would only have to modify 
my-app.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
@@ -387,26 +322,23 @@ under the License.
   &lt;modules&gt;
     &lt;module&gt;my-module&lt;/module&gt;
   &lt;/modules&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p>In the revised com.mycompany.app:my-app:1, the packaging section and the 
modules sections were added. For the packaging, its value was set to 
&#x201c;pom&#x201d;, and for the modules section, we have the element 
<code>&lt;module&gt;my-module&lt;/module&gt;</code>. The value of 
<code>&lt;module&gt;</code> is the relative path from the 
com.mycompany.app:my-app:1 to com.mycompany.app:my-module:1's POM (<em>by 
practice, we use the module's artifactId as the module directory's 
name</em>).</p>
+&lt;/project&gt;</pre></div>
+<p>In the revised com.mycompany.app:my-app:1, the packaging section and the 
modules sections were added. For the packaging, its value was set to 
&quot;pom&quot;, and for the modules section, we have the element 
<code>&lt;module&gt;my-module&lt;/module&gt;</code>. The value of 
<code>&lt;module&gt;</code> is the relative path from the 
com.mycompany.app:my-app:1 to com.mycompany.app:my-module:1's POM (<i>by 
practice, we use the module's artifactId as the module directory's 
name</i>).</p>
 <p>Now, whenever a Maven command processes com.mycompany.app:my-app:1, that 
same Maven command would be ran against com.mycompany.app:my-module:1 as well. 
Furthermore, some commands (goals specifically) handle project aggregation 
differently.</p>
 <p><a 
href="./introduction-to-the-pom.html">[top]</a></p></section></section><section>
-<h4>Example 4</h4><section>
-<h5>The Scenario</h5>
+<h3><a id="Example_4">Example 4</a></h3><section>
+<h4>The Scenario</h4>
 <p>But what if we change the directory structure to the following:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code>.
+<div>
+<pre>.
  |-- my-module
  |   `-- pom.xml
  `-- parent
-     `-- pom.xml
-</code></pre></div>
+     `-- pom.xml</pre></div>
 <p>How would the parent POM specify its modules?</p></section><section>
-<h5>The Solution</h5>
+<h4>The Solution</h4>
 <p>The answer? - the same way as Example 3, by specifying the path to the 
module.</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
@@ -417,58 +349,46 @@ under the License.
   &lt;modules&gt;
     &lt;module&gt;../my-module&lt;/module&gt;
   &lt;/modules&gt;
-&lt;/project&gt;
-</code></pre></div></section></section></section><section>
-<h3>Project Inheritance vs Project Aggregation</h3>
+&lt;/project&gt;</pre></div></section></section></section><section>
+<h2><a id="Project_Inheritance_vs_Project_Aggregation">Project Inheritance vs 
Project Aggregation</a></h2>
 <p>If you have several Maven projects, and they all have similar 
configurations, you can refactor your projects by pulling out those similar 
configurations and making a parent project. Thus, all you have to do is to let 
your Maven projects inherit that parent project, and those configurations would 
then be applied to all of them.</p>
 <p>And if you have a group of projects that are built or processed together, 
you can create a parent project and have that parent project declare those 
projects as its modules. By doing so, you'd only have to build the parent and 
the rest will follow.</p>
 <p>But of course, you can have both Project Inheritance and Project 
Aggregation. Meaning, you can have your modules specify a parent project, and 
at the same time, have that parent project specify those Maven projects as its 
modules. You'd just have to apply all three rules:</p>
 <ul>
-
-<li>
-<p>Specify in every child POM who their parent POM is.</p></li>
-<li>
-<p>Change the parent POMs packaging to the value &#x201c;pom&#x201d; .</p></li>
-<li>
-<p>Specify in the parent POM the directories of its modules (children 
POMs)</p></li>
-</ul>
+<li>Specify in every child POM who their parent POM is.</li>
+<li>Change the parent POMs packaging to the value &quot;pom&quot; .</li>
+<li>Specify in the parent POM the directories of its modules (children 
POMs)</li></ul>
 <p><a href="./introduction-to-the-pom.html">[top]</a></p><section>
-<h4>Example 5</h4><section>
-<h5>The Scenario</h5>
+<h3><a id="Example_5">Example 5</a></h3><section>
+<h4>The Scenario</h4>
 <p>Given the previous original artifact POMs again,</p>
-<p><strong>com.mycompany.app:my-app:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<p><b>com.mycompany.app:my-app:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-app&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p><strong>com.mycompany.app:my-module:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+&lt;/project&gt;</pre></div>
+<p><b>com.mycompany.app:my-module:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
   &lt;version&gt;1&lt;/version&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p>and this <strong>directory structure</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code>.
+&lt;/project&gt;</pre></div>
+<p>and this <b>directory structure</b></p>
+<div>
+<pre>.
  |-- my-module
  |   `-- pom.xml
  `-- parent
-     `-- pom.xml
-</code></pre></div></section><section>
-<h5>The Solution</h5>
+     `-- pom.xml</pre></div></section><section>
+<h4>The Solution</h4>
 <p>To do both project inheritance and aggregation, you only have to apply all 
three rules.</p>
-<p><strong>com.mycompany.app:my-app:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<p><b>com.mycompany.app:my-app:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;groupId&gt;com.mycompany.app&lt;/groupId&gt;
@@ -479,11 +399,9 @@ under the License.
   &lt;modules&gt;
     &lt;module&gt;../my-module&lt;/module&gt;
   &lt;/modules&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p><strong>com.mycompany.app:my-module:1's POM</strong></p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+&lt;/project&gt;</pre></div>
+<p><b>com.mycompany.app:my-module:1's POM</b></p>
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
 
   &lt;parent&gt;
@@ -494,50 +412,41 @@ under the License.
   &lt;/parent&gt;
 
   &lt;artifactId&gt;my-module&lt;/artifactId&gt;
-&lt;/project&gt;
-</code></pre></div>
-<p><strong>NOTE:</strong> Profile inheritance the same inheritance strategy as 
used for the POM itself.</p>
+&lt;/project&gt;</pre></div>
+<p><b>NOTE:</b> Profile inheritance the same inheritance strategy as used for 
the POM itself.</p>
 <p><a 
href="./introduction-to-the-pom.html">[top]</a></p></section></section></section><section>
-<h3>Project Interpolation and Variables</h3>
-<p>One of the practices that Maven encourages is <em>don't repeat 
yourself</em>. However, there are circumstances where you will need to use the 
same value in several different locations. To assist in ensuring the value is 
only specified once, Maven allows you to use both your own and pre-defined 
variables in the POM.</p>
+<h2><a id="Project_Interpolation">Project Interpolation</a> and Variables</h2>
+<p>One of the practices that Maven encourages is <i>don't repeat yourself</i>. 
However, there are circumstances where you will need to use the same value in 
several different locations. To assist in ensuring the value is only specified 
once, Maven allows you to use both your own and pre-defined variables in the 
POM.</p>
 <p>For example, to access the <code>project.version</code> variable, you would 
reference it like so:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">  &lt;version&gt;${project.version}&lt;/version&gt;
-</code></pre></div>
-<p>One factor to note is that these variables are processed <em>after</em> 
inheritance as outlined above. This means that if a parent project uses a 
variable, then its definition in the child, not the parent, will be the one 
eventually used.</p><section>
-<h4>Available Variables</h4><section>
-<h5>Project Model Variables</h5>
+<div class="source"><pre class="prettyprint linenums">  
&lt;version&gt;${project.version}&lt;/version&gt;</pre></div>
+<p>One factor to note is that these variables are processed <i>after</i> 
inheritance as outlined above. This means that if a parent project uses a 
variable, then its definition in the child, not the parent, will be the one 
eventually used.</p><section>
+<h3><a id="Available_Variables">Available Variables</a></h3><section>
+<h4>Project Model Variables</h4>
 <p>Any field of the model that is a single value element can be referenced as 
a variable. For example, <code>${project.groupId}</code>, 
<code>${project.version}</code>, <code>${project.build.sourceDirectory}</code> 
and so on. Refer to the POM reference to see a full list of properties.</p>
-<p>These variables are all referenced by the prefix 
&#x201c;<code>project.</code>&#x201d;. You may also see references with 
<code>pom.</code> as the prefix, or the prefix omitted entirely - these forms 
are now deprecated and should not be used.</p></section><section>
-<h5>Special Variables</h5>
-<table class="table table-striped">
-<thead>
+<p>These variables are all referenced by the prefix 
&quot;<code>project.</code>&quot;. You may also see references with 
<code>pom.</code> as the prefix, or the prefix omitted entirely - these forms 
are now deprecated and should not be used.</p></section><section>
+<h4>Special Variables</h4>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
-<th><code>project.basedir</code></th>
-<th>The directory that the current project resides in.</th></tr></thead><tbody>
+<td style="text-align: left;"><code>project.basedir</code></td>
+<td style="text-align: left;">The directory that the current project resides 
in.</td></tr>
 <tr class="b">
-<td><code>project.baseUri</code></td>
-<td>The directory that the current project resides in, represented as an URI. 
<em>Since Maven 2.1.0</em></td></tr>
+<td style="text-align: left;"><code>project.baseUri</code></td>
+<td style="text-align: left;">The directory that the current project resides 
in, represented as an URI. <i>Since Maven 2.1.0</i></td></tr>
 <tr class="a">
-<td><code>maven.build.timestamp</code></td>
-<td>The timestamp that denotes the start of the build (UTC). <em>Since Maven 
2.1.0-M1</em></td></tr></tbody>
-</table>
-
+<td style="text-align: left;"><code>maven.build.timestamp</code></td>
+<td style="text-align: left;">The timestamp that denotes the start of the 
build (UTC). <i>Since Maven 2.1.0-M1</i></td></tr></table>
 <p>The format of the build timestamp can be customized by declaring the 
property <code>maven.build.timestamp.format</code> as shown in the example 
below:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   ...
   &lt;properties&gt;
     
&lt;maven.build.timestamp.format&gt;yyyy-MM-dd'T'HH:mm:ss'Z'&lt;/maven.build.timestamp.format&gt;
   &lt;/properties&gt;
   ...
-&lt;/project&gt;
-</code></pre></div>
-<p>The format pattern has to comply with the rules given in the API 
documentation for <a 
href="https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html";
 class="externalLink">SimpleDateFormat</a>. If the property is not present, the 
format defaults to the value already given in the 
example.</p></section><section>
-<h5>Properties</h5>
+&lt;/project&gt;</pre></div>
+<p>The format pattern has to comply with the rules given in the API 
documentation for <a class="externalLink" 
href="https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html";>SimpleDateFormat</a>.
 If the property is not present, the format defaults to the value already given 
in the example.</p></section><section>
+<h4>Properties</h4>
 <p>You are also able to reference any properties defined in the project as a 
variable. Consider the following example:</p>
-
-<div class="source"><pre class="prettyprint linenums"><code 
class="language-xml">&lt;project 
xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot;&gt;
+<div class="source"><pre class="prettyprint linenums">&lt;project&gt;
   ...
   &lt;properties&gt;
     &lt;mavenVersion&gt;3.0&lt;/mavenVersion&gt;
@@ -556,9 +465,8 @@ under the License.
     &lt;/dependency&gt;
   &lt;/dependencies&gt;
   ...
-&lt;/project&gt;
-</code></pre></div>
-<p><a 
href="./introduction-to-the-pom.html">[top]</a></p></section></section></section></section></section>
+&lt;/project&gt;</pre></div>
+<p><a 
href="./introduction-to-the-pom.html">[top]</a></p></section></section></section></section>
         </main>
       </div>
     </div>

Modified: 
maven/website/content/guides/introduction/introduction-to-the-standard-directory-layout.html
==============================================================================
--- 
maven/website/content/guides/introduction/introduction-to-the-standard-directory-layout.html
 (original)
+++ 
maven/website/content/guides/introduction/introduction-to-the-standard-directory-layout.html
 Sat Feb 18 20:40:58 2023
@@ -2,7 +2,7 @@
 
 
 <!--
- | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/markdown/guides/introduction/introduction-to-the-standard-directory-layout.md
 at 2023-02-18
+ | Generated by Apache Maven Doxia Site Renderer 2.0.0-M4 from 
content/apt/guides/introduction/introduction-to-the-standard-directory-layout.apt
 at 2023-02-18
  | Rendered using Apache Maven Fluido Skin 1.11.1
 -->
 <html xmlns="http://www.w3.org/1999/xhtml"; lang="">
@@ -48,7 +48,7 @@
           <ul class="breadcrumb">
       <li class=""><a href="https://www.apache.org/"; class="externalLink" 
title="Apache">Apache</a><span class="divider">/</span></li>
       <li class=""><a href="../../index.html" title="Maven">Maven</a><span 
class="divider">/</span></li>
-    <li class="active ">Introduction to the Standard Directory Layout <a 
href="https://github.com/apache/maven-site/tree/master/content/markdown/guides/introduction/introduction-to-the-standard-directory-layout.md";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
+    <li class="active ">Introduction to the Standard Directory Layout <a 
href="https://github.com/apache/maven-site/tree/master/content/apt/guides/introduction/introduction-to-the-standard-directory-layout.apt";><img
 src="../../images/accessories-text-editor.png" title="Edit" /></a></li>
         <li id="publishDate" class="pull-right"><span class="divider">|</span> 
Last Published: 2023-02-18</li>
         <li class="pull-right"><span class="divider">|</span>
 <a href="../../scm.html" title="Get Sources">Get Sources</a></li>
@@ -145,77 +145,56 @@
           </div>
         </header>
         <main id="bodyColumn"  class="span10" >
-<!--
-Licensed to the Apache Software Foundation (ASF) under one
-or more contributor license agreements.  See the NOTICE file
-distributed with this work for additional information
-regarding copyright ownership.  The ASF licenses this file
-to you under the Apache License, Version 2.0 (the
-"License"); you may not use this file except in compliance
-with the License.  You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing,
-software distributed under the License is distributed on an
-"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-KIND, either express or implied.  See the License for the
-specific language governing permissions and limitations
-under the License.
--->
-<section><section>
-<h2>Introduction to the Standard Directory Layout</h2>
+<section>
+<h1>Introduction to the Standard Directory Layout</h1>
 <p>Having a common directory layout allows users familiar with one Maven 
project to immediately feel at home in another Maven project. The advantages 
are analogous to adopting a site-wide look-and-feel.</p>
 <p>The next section documents the directory layout expected by Maven and the 
directory layout created by Maven. Try to conform to this structure as much as 
possible. However, if you can't, these settings can be overridden via the 
project descriptor.</p>
-<table class="table table-striped">
-<thead>
+<table class="bodyTable bodyTableBorder">
 <tr class="a">
-<th><code>src/main/java</code></th>
-<th>Application/Library sources</th></tr></thead><tbody>
+<td style="text-align: left;"><code>src/main/java</code></td>
+<td style="text-align: left;">Application/Library sources</td></tr>
 <tr class="b">
-<td><code>src/main/resources</code></td>
-<td>Application/Library resources</td></tr>
+<td style="text-align: left;"><code>src/main/resources</code></td>
+<td style="text-align: left;">Application/Library resources</td></tr>
 <tr class="a">
-<td><code>src/main/filters</code></td>
-<td>Resource filter files</td></tr>
+<td style="text-align: left;"><code>src/main/filters</code></td>
+<td style="text-align: left;">Resource filter files</td></tr>
 <tr class="b">
-<td><code>src/main/webapp</code></td>
-<td>Web application sources</td></tr>
+<td style="text-align: left;"><code>src/main/webapp</code></td>
+<td style="text-align: left;">Web application sources</td></tr>
 <tr class="a">
-<td><code>src/test/java</code></td>
-<td>Test sources</td></tr>
+<td style="text-align: left;"><code>src/test/java</code></td>
+<td style="text-align: left;">Test sources</td></tr>
 <tr class="b">
-<td><code>src/test/resources</code></td>
-<td>Test resources</td></tr>
+<td style="text-align: left;"><code>src/test/resources</code></td>
+<td style="text-align: left;">Test resources</td></tr>
 <tr class="a">
-<td><code>src/test/filters</code></td>
-<td>Test resource filter files</td></tr>
+<td style="text-align: left;"><code>src/test/filters</code></td>
+<td style="text-align: left;">Test resource filter files</td></tr>
 <tr class="b">
-<td><code>src/it</code></td>
-<td>Integration Tests (primarily for plugins)</td></tr>
+<td style="text-align: left;"><code>src/it</code></td>
+<td style="text-align: left;">Integration Tests (primarily for 
plugins)</td></tr>
 <tr class="a">
-<td><code>src/assembly</code></td>
-<td>Assembly descriptors</td></tr>
+<td style="text-align: left;"><code>src/assembly</code></td>
+<td style="text-align: left;">Assembly descriptors</td></tr>
 <tr class="b">
-<td><code>src/site</code></td>
-<td>Site</td></tr>
+<td style="text-align: left;"><code>src/site</code></td>
+<td style="text-align: left;">Site</td></tr>
 <tr class="a">
-<td><code>LICENSE.txt</code></td>
-<td>Project's license</td></tr>
+<td style="text-align: left;"><code>LICENSE.txt</code></td>
+<td style="text-align: left;">Project's license</td></tr>
 <tr class="b">
-<td><code>NOTICE.txt</code></td>
-<td>Notices and attributions required by libraries that the project depends 
on</td></tr>
+<td style="text-align: left;"><code>NOTICE.txt</code></td>
+<td style="text-align: left;">Notices and attributions required by libraries 
that the project depends on</td></tr>
 <tr class="a">
-<td><code>README.txt</code></td>
-<td>Project's readme</td></tr></tbody>
-</table>
-
+<td style="text-align: left;"><code>README.txt</code></td>
+<td style="text-align: left;">Project's readme</td></tr></table>
 <p>At the top level, files descriptive of the project: a <code>pom.xml</code> 
file. In addition, there are textual documents meant for the user to be able to 
read immediately on receiving the source: <code>README.txt</code>, 
<code>LICENSE.txt</code>, etc.</p>
 <p>There are just two subdirectories of this structure: <code>src</code> and 
<code>target</code>. The only other directories that would be expected here are 
metadata like <code>CVS</code>, <code>.git</code> or <code>.svn</code>, and any 
subprojects in a multiproject build (each of which would be laid out as 
above).</p>
 <p>The <code>target</code> directory is used to house all output of the 
build.</p>
 <p>The <code>src</code> directory contains all of the source material for 
building the project, its site and so on. It contains a subdirectory for each 
type: <code>main</code> for the main build artifact, <code>test</code> for the 
unit test code and resources, <code>site</code> and so on.</p>
 <p>Within artifact producing source directories (ie. <code>main</code> and 
<code>test</code>), there is one directory for the language <code>java</code> 
(under which the normal package hierarchy exists), and one for 
<code>resources</code> (the structure which is copied to the target classpath 
given the default resource definition).</p>
-<p>If there are other contributing sources to the artifact build, they would 
be under other subdirectories. For example <code>src/main/antlr</code> would 
contain Antlr grammar definition files.</p></section></section>
+<p>If there are other contributing sources to the artifact build, they would 
be under other subdirectories. For example <code>src/main/antlr</code> would 
contain Antlr grammar definition files.</p></section>
         </main>
       </div>
     </div>


Reply via email to