Modified: maven/website/content/guides/mini/guide-http-settings.html ============================================================================== --- maven/website/content/guides/mini/guide-http-settings.html (original) +++ maven/website/content/guides/mini/guide-http-settings.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-http-settings.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-http-settings.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="John Casey" /> <meta name="date" content="2011-12-12" /> - <title>Maven</title> + <title>Maven â Guide to Advanced Wagon Transport Configuration</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-http-settings.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Advanced Wagon Transport Configuration <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-http-settings.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -162,7 +159,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Advanced_configuration_to_HttpClient_HTTP_Wagon"></a> +<section> <h1>Advanced configuration to HttpClient HTTP Wagon</h1> <p><b>This page contains Wagon specific information, but the default transport in Maven 3.9.0+ is NOT Wagon anymore. Make sure to check the <a href="./guide-resolver-transport.html">Resolver Transport guide</a> first, as things have changed.</b></p> <ul> @@ -189,19 +186,22 @@ <ul> <li>http(s) connection pool: default to 20.</li> <li>readTimeout: default to 1800000 (~30 minutes) (see section <code>Read time out</code> below)</li> -<li>default Preemptive Authentication only with PUT (GET doesn't use anymore default Preemptive Authentication)</li></ul><section><a id="Introduction"></a> +<li>default Preemptive Authentication only with PUT (GET doesn't use anymore default Preemptive Authentication)</li></ul><section> <h2>Introduction</h2> -<p>The HttpClient-based HTTP wagon offers more control over the configuration used to access HTTP-based Maven repositories. For starters, you have fine-grained control over what HTTP headers are used when resolving artifacts. In addition, you can also configure a wide range of parameters to control the behavior of HttpClient itself. Best of all, you have the ability to control these headers and parameters for all requests, or individual request types (GET, HEAD, and PUT).</p></section><section><a id="The_Basics"></a> +<p>The HttpClient-based HTTP wagon offers more control over the configuration used to access HTTP-based Maven repositories. For starters, you have fine-grained control over what HTTP headers are used when resolving artifacts. In addition, you can also configure a wide range of parameters to control the behavior of HttpClient itself. Best of all, you have the ability to control these headers and parameters for all requests, or individual request types (GET, HEAD, and PUT).</p></section><section> <h2>The Basics</h2> <p>Without any special configuration, Maven's HTTP wagon uses some default HTTP headers and client parameters when managing artifacts. The default headers are:</p> +<div class="verbatim"> <pre>Cache-control: no-cache Cache-store: no-store Pragma: no-cache Expires: 0 -Accept-Encoding: gzip</pre> +Accept-Encoding: gzip</pre></div> <p>In addition, PUT requests made with the HTTP wagon use the following HttpClient parameter:</p> -<pre>http.protocol.expect-continue=true</pre> +<div class="verbatim"> +<pre>http.protocol.expect-continue=true</pre></div> <p>From the HttpClient documentation[2], this parameter provides the following functionality:</p> +<div class="verbatim"> <pre>Activates 'Expect: 100-Continue' handshake for the entity enclosing methods. The 'Expect: 100-Continue' handshake allows a client that is sending a request message with a request body to determine if the origin server is willing to @@ -213,14 +213,14 @@ improvement for entity enclosing request the target server's authentication. 'Expect: 100-continue' handshake should be used with caution, as it may cause -problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.</pre> +problems with HTTP servers and proxies that do not support HTTP/1.1 protocol.</pre></div> <p>Without this setting, PUT requests that require authentication transfer their entire payload to the server before that server issues an authentication challenge. In order to complete the PUT request, the client must then re-send the payload with the proper credentials specified in the HTTP headers. This results in twice the bandwidth usage, and twice the time to transfer each artifact.</p> <p>Another option to avoid this double transfer is what's known as preemptive authentication, which involves sending the authentication headers along with the original PUT request. However, there are a few potential issues with this approach. For one thing, in the event you have an unused <code><server></code> entry that specifies an invalid username/password combination, some servers may respond with a <code>401 Unauthorized</code> even if the server doesn't actually require any authentication for the request. In addition, blindly sending authentication credentials with every request regardless of whether the server has made a challenge can result in a security hole, since the server may not make provisions to secure credentials for paths that don't require authentication.</p> -<p>We'll discuss preemptive authentication in another example, below.</p></section><section><a id="Configuring_GET.2C_HEAD.2C_PUT.2C_or_All_of_the_Above"></a> +<p>We'll discuss preemptive authentication in another example, below.</p></section><section> <h2>Configuring GET, HEAD, PUT, or All of the Above</h2> <p><b>Starting with Maven 3.9.0 native HTTP transport will pick up the "all" settings only (get, head, put are neglected!)" but it will WARN about its deprecation. For users sticking with Wagon nothing changes.</b></p> <p>In all of the examples below, it's important to understand that you can configure the HTTP settings for all requests made to a given server, or for only one method. To configure all methods for a server, use the following section of the <code>settings.xml</code> file:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> [...] <servers> <server> @@ -234,9 +234,9 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> +</settings></pre></div> <p>On the other hand, if you can live with the default configuration for most requests — say, HEAD and GET requests, which are used to check for the existence of a file and retrieve a file respectively — maybe you only need to configure the PUT method:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> [...] <servers> <server> @@ -250,12 +250,12 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> -<p>For clarity, the other two sections are <code><get></code> for GET requests, and <code><head></code> for HEAD requests. I know that's going to be hard to remember...</p></section><section><a id="Taking_Control_of_Your_HTTP_Headers"></a> +</settings></pre></div> +<p>For clarity, the other two sections are <code><get></code> for GET requests, and <code><head></code> for HEAD requests. I know that's going to be hard to remember...</p></section><section> <h2>Taking Control of Your HTTP Headers</h2> <p>As you may have noticed above, the default HTTP headers do have the potential to cause problems. For instance, some websites set the encoding for downloading GZipped files as <code>gzip</code>, in spite of the fact that the HTTP request itself isn't being sent using GZip compression. If the client is using the <code>Accept-Encoding: gzip</code> header, this can result in the client itself decompressing the GZipped file <i>during the transfer</i> and writing the decompressed file to the local disk with the original filename. This can be misleading to say the least, and can use up an inordinate amount of disk space on the local computer.</p> <p>To turn off this default behavior, simply disable the default headers. Then, respecify the other headers that you are still interested in, like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> [...] <servers> <server> @@ -293,26 +293,27 @@ problems with HTTP servers and proxies t [...] </servers> [...] -</settings></code></pre></section><section><a id="Fine-Tuning_HttpClient_Parameters"></a> +</settings></pre></div></section><section> <h2>Fine-Tuning HttpClient Parameters</h2> -<p>Going beyond the power of HTTP request parameters, HttpClient provides a host of other configuration options. In most cases, you won't need to customize these. But in case you do, Maven provides access to specify your own fine-grained configuration for HttpClient. Again, you can specify these parameter customizations per-method (HEAD, GET, or PUT), or for all methods of interacting with a given server. For a complete list of supported parameters, see the link[2] in Resources section below.</p><section><a id="Non-String_Parameter_Values"></a> +<p>Going beyond the power of HTTP request parameters, HttpClient provides a host of other configuration options. In most cases, you won't need to customize these. But in case you do, Maven provides access to specify your own fine-grained configuration for HttpClient. Again, you can specify these parameter customizations per-method (HEAD, GET, or PUT), or for all methods of interacting with a given server. For a complete list of supported parameters, see the link[2] in Resources section below.</p><section> <h3>Non-String Parameter Values</h3> <p>Many of the configuration parameters for HttpClient have simple string values; however, there are important exceptions to this. In some cases, you may need to specify boolean, integer, or long values. In others, you may even need to specify a collection of string values. You can specify these using a simple formatting syntax, as follows:</p> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li><b>booleans:</b> <code>%b,<value></code></li> <li><b>integer:</b> <code>%i,<value></code></li> <li><b>long:</b> <code>%l,<value></code> (yes, that's an 'L', not a '1')</li> <li><b>double:</b> <code>%d,<value></code></li> <li><b>collection of strings:</b> <code>%c,<value1>,<value2>,<value3>,...</code>, which could also be specified as: +<div class="verbatim"> <pre>%c, <value1>, <value2>, <value3>, -...</pre></li></ol> -<p>As you may have noticed, this syntax is similar to the format-and-data strategy used by functions like <code>sprintf()</code> in many languages. The syntax has been chosen with this similarity in mind, to make it a little more intuitive to use.</p><section><a id="Example.3A_Using_Preemptive_Authentication"></a> +...</pre></div></li></ol> +<p>As you may have noticed, this syntax is similar to the format-and-data strategy used by functions like <code>sprintf()</code> in many languages. The syntax has been chosen with this similarity in mind, to make it a little more intuitive to use.</p><section> <h4>Example: Using Preemptive Authentication</h4> <p>Using the above syntax, you can configure preemptive authentication for PUT requests using the boolean HttpClient parameter <code>http.authentication.preemptive</code>, like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -330,9 +331,9 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> +</settings></pre></div> <p>Another option is to make write it like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -345,12 +346,12 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre></section></section><section><a id="Example.3A_Lifting_auth_scope_restriction_for_external_authentication_systems"></a> +</settings></pre></div></section></section><section> <h3>Example: Lifting auth scope restriction for external authentication systems</h3> -<p>Maven Wagon by default limits supplied credentials to the host:port combination scope, ignoring any other target servers. When the target server delegates authentication to an external system, you need to deliberately lift that scope limitation. Configure your server element to pass authentication to all target servers which challenge the client. +---+ <i>settings</i> <i>servers</i> <i>server</i> <i>id</i>my-server<i>/id</i> <i>configuration</i> <i>basicAuthScope</i> <i>host</i>ANY<i>/host</i> <i>port</i>ANY<i>/port</i> <i>!-- or even 443 to force the use of TLS --</i> <i>/basicAuthScope</i> <i>httpConfiguration</i> <i>all</i> <i>params</i> <i>property</i> <i>name</i>http.protocol.cookie-policy<i>/name</i> <i>value</i>standard<i>/value</i> <i>/property</i> <i>/params</i> <i>/all</i> <i>/httpConfiguration</i> <i>/configuration</i> <i>/server</i> <i>/servers</i> <i>/settings</i> +---+</p></section><section><a id="Ignoring_Cookies"></a> +<p>Maven Wagon by default limits supplied credentials to the host:port combination scope, ignoring any other target servers. When the target server delegates authentication to an external system, you need to deliberately lift that scope limitation. Configure your server element to pass authentication to all target servers which challenge the client. +---+ <i>settings</i> <i>servers</i> <i>server</i> <i>id</i>my-server<i>/id</i> <i>configuration</i> <i>basicAuthScope</i> <i>host</i>ANY<i>/host</i> <i>port</i>ANY<i>/port</i> <i>!-- or even 443 to force the use of TLS --</i> <i>/basicAuthScope</i> <i>httpConfiguration</i> <i>all</i> <i>params</i> <i>property</i> <i>name</i>http.protocol.cookie-policy<i>/name</i> <i>value</i>standard<i>/value</i> <i>/property</i> <i>/params</i> <i>/all</i> <i>/httpConfiguration</i> <i>/configuration</i> <i>/server</i> <i>/servers</i> <i>/settings</i> +---+</p></section><section> <h3>Ignoring Cookies</h3> <p>Like the example above, telling the HttpClient to ignore cookies for all methods of request is a simple matter of configuring the <code>http.protocol.cookie-policy</code> parameter (it uses a regular string value, so no special syntax is required):</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -368,13 +369,13 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> -<p>The configuration above can be useful in cases where the repository is using cookies - like the session cookies that are often mistakenly turned on or left on in appservers - alongside HTTP redirection. In these cases, it becomes far more likely that the cookie issued by the appserver uses a <code>Path</code> that is inconsistent with the one used by the client to access the server. If you have this problem, and know that you don't need to use this session cookie, you can ignore cookies from this server with the above configuration.</p></section></section><section><a id="Support_for_General-Wagon_Configuration_Standards"></a> +</settings></pre></div> +<p>The configuration above can be useful in cases where the repository is using cookies - like the session cookies that are often mistakenly turned on or left on in appservers - alongside HTTP redirection. In these cases, it becomes far more likely that the cookie issued by the appserver uses a <code>Path</code> that is inconsistent with the one used by the client to access the server. If you have this problem, and know that you don't need to use this session cookie, you can ignore cookies from this server with the above configuration.</p></section></section><section> <h2>Support for General-Wagon Configuration Standards</h2> -<p>It should be noted that configuration options previously available in the HttpClient-driven HTTP wagon are still supported in addition to this new, fine-grained approach. These include the configuration of HTTP headers and connection timeouts. Let's examine each of these briefly:</p><section><a id="HTTP_Headers"></a> +<p>It should be noted that configuration options previously available in the HttpClient-driven HTTP wagon are still supported in addition to this new, fine-grained approach. These include the configuration of HTTP headers and connection timeouts. Let's examine each of these briefly:</p><section> <h3>HTTP Headers</h3> <p>In all HTTP Wagon implementations, you can add your own HTTP headers like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -388,11 +389,11 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> -<p>It's important to understand that the above approach doesn't allow you to turn off all of the default HTTP headers; nor does it allow you to specify headers on a per-method basis. However, this configuration remains available in both the lightweight and httpclient-based Wagon implementations.</p></section><section><a id="Connection_Timeouts"></a> +</settings></pre></div> +<p>It's important to understand that the above approach doesn't allow you to turn off all of the default HTTP headers; nor does it allow you to specify headers on a per-method basis. However, this configuration remains available in both the lightweight and httpclient-based Wagon implementations.</p></section><section> <h3>Connection Timeouts</h3> <p>All wagon implementations that extend the <code>AbstractWagon</code> class, including those for SCP, HTTP, FTP, and more, allow the configuration of a connection timeout, to allow the user to tell Maven how long to wait before giving up on a connection that has not responded. This option is preserved in the HttpClient-based wagon, but this wagon also provides a fine-grained alternative configuration that can allow you to specify timeouts per-method for a given server. The old configuration option - which is still supported - looks like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -401,9 +402,9 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> +</settings></pre></div> <p>...while the new configuration option looks more like this:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -416,11 +417,11 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre> -<p>If all you need is a per-server timeout configuration, you still have the option to use the old <code><timeout></code> parameter. If you need to separate timeout preferences according to HTTP method, you can use one more like that specified directly above.</p></section><section><a id="Read_time_out"></a> +</settings></pre></div> +<p>If all you need is a per-server timeout configuration, you still have the option to use the old <code><timeout></code> parameter. If you need to separate timeout preferences according to HTTP method, you can use one more like that specified directly above.</p></section><section> <h3>Read time out</h3> <p>The default timeout is 30 minutes. If you want to change this value, you can add the following setup in your settings:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> <servers> <server> <id>my-server</id> @@ -433,9 +434,9 @@ problems with HTTP servers and proxies t </configuration> </server> </servers> -</settings></code></pre></section></section><section><a id="Resources"></a> +</settings></pre></div></section></section><section> <h2>Resources</h2> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li><a class="externalLink" href="https://hc.apache.org/httpcomponents-client-4.5.x/">HttpClient website</a></li> <li><a class="externalLink" href="https://hc.apache.org/httpclient-3.x/preference-api.html">HttpClient preference architecture and configuration guide</a></li> <li><a href="./guide-wagon-providers.html">Guide to Wagon Providers</a></li>
Modified: maven/website/content/guides/mini/guide-large-scale-centralized-deployments.html ============================================================================== --- maven/website/content/guides/mini/guide-large-scale-centralized-deployments.html (original) +++ maven/website/content/guides/mini/guide-large-scale-centralized-deployments.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-large-scale-centralized-deployments.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-large-scale-centralized-deployments.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Phil Clay" /> <meta name="date" content="2021-01-01" /> - <title>Maven</title> + <title>Maven â Guide to Large Scale Centralized Deployments</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-large-scale-centralized-deployments.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Large Scale Centralized Deployments <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-large-scale-centralized-deployments.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -162,11 +159,11 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_Large_Scale_Centralized_Deployments"></a> +<section> <h1>Guide to Large Scale Centralized Deployments</h1> <p>This guide covers a simple optimized approach to using a <a href="../../repository-management.html">repository manager</a> in a large organization with hundreds/thousands of Maven projects.</p> <p>The pillars of this approach are:</p> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li>Use a centralized <a href="../../repository-management.html">repository manager</a>. <ul> <li>Maven clients should download needed artifacts from the repository manager.</li> @@ -197,7 +194,7 @@ <p>All artifacts used by Maven projects in the organization should be downloaded from the single virtual repository of the repository manager.</p> <p>Maven can be instructed to download artifacts from the repository manager's virtual repository by defining a mirror in the Maven <code>settings.xml</code> file as described in the <a href="./guide-mirror-settings.html">Guide to Mirror Settings</a>.</p> <p>Example: To download artifacts from the corporate repository manager's <code>maven-virtual</code> repository:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> ... <mirrors> <!-- Mirror all external repositories via the Corporate Repository Manager's Maven virtual repository --> @@ -209,7 +206,7 @@ </mirror> </mirrors> ... -</settings></code></pre></section><section> +</settings></pre></div></section><section> <h2><a id="Managing_Uploads_to_the_Repository_Manager">Managing Uploads to the Repository Manager</a></h2> <p>All proprietary artifacts produced by Maven projects in the organization should be uploaded to the repository manager's hosted repositories.</p> <p>The <a href="../../plugins/maven-deploy-plugin">Maven Deploy Plugin</a> can be instructed to upload artifacts to the repository manager's repositories by defining the <code>alt*DeploymentRepository</code> properties in the Maven <code>settings.xml</code> file. When these properties are defined, the Maven Deploy Plugin's <a href="../../plugins/maven-deploy-plugin/deploy-mojo.html">deploy</a> goal uses them instead of the <code><distributionManagement></code> section of <code>pom.xml</code> files to determine where to upload artifacts.</p> @@ -217,7 +214,7 @@ <p>The ability to specify separate alternate deployment repositories for releases and snapshots via the <code>altReleaseDeploymentRepository</code> and <code>altSnapshotDeploymentRepository</code> properties, respectively, was added in Maven Deploy Plugin 2.8. To get the most out of the approach defined in this document, all projects should use Maven Deploy Plugin >=2.8. If some projects are still using an older version of Maven Deploy Plugin (>=2.3 and <2.8), then specify a single alternate deployment repository via the <code>altDeploymentRepository</code> property that points to a repository capable of containing both releases and snapshots.</p> <p>Typically, only continuous integration servers are allowed to upload artifacts to the repository manager. Therefore, these settings should only be specified in <code>settings.xml</code> files on continuous integration servers, and should not be in <code>settings.xml</code> files on developer machines. Alternatively, if you want developers to be able to upload artifacts to the repository manager, then include these properties in the <code>settings.xml</code> files used by developers.</p> <p>Example: To upload artifacts to one of the corporate repository manager's hosted repositories:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> ... <profiles> <profile> @@ -292,7 +289,7 @@ <activeProfile>corp-repository-manager</activeProfile> </activeProfiles> ... -</settings></code></pre></section><section> +</settings></pre></div></section><section> <h2><a id="Settings_File_Locations">Settings File Locations</a></h2> <p>Maven <code>settings.xml</code> files need to be available wherever Maven builds are performed, typically:</p> <ul> Modified: maven/website/content/guides/mini/guide-manifest.html ============================================================================== --- maven/website/content/guides/mini/guide-manifest.html (original) +++ maven/website/content/guides/mini/guide-manifest.html Sun May 12 07:42:36 2024 @@ -2,18 +2,18 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-manifest.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-manifest.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Jason van Zyl" /> <meta name="author" content="Dennis Lundberg" /> <meta name="date" content="2010-08-19" /> - <title>Maven</title> + <title>Maven â Guide to Working with Manifests</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -40,10 +40,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -51,9 +49,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-manifest.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Working with Manifests <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-manifest.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -164,7 +161,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_Working_with_Manifests"></a> +<section> <h1>Guide to Working with Manifests</h1> <p>In order to modify the manifest of the archive produced by the packaging plug-ins you need to create a configuration for it. The definitive guide for this is <a href="/shared/maven-archiver/index.html">the site for the Maven Archiver shared component</a>. This component is used by all our packaging plugins.</p></section> </main> Modified: maven/website/content/guides/mini/guide-maven-classloading.html ============================================================================== --- maven/website/content/guides/mini/guide-maven-classloading.html (original) +++ maven/website/content/guides/mini/guide-maven-classloading.html Sun May 12 07:42:36 2024 @@ -2,19 +2,19 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-maven-classloading.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-maven-classloading.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Jason van Zyl" /> <meta name="author" content="Anders Kristian Andersen" /> <meta name="author" content="Konrad Windszus" /> <meta name="date" content="2022-11-16" /> - <title>Maven</title> + <title>Maven â Guide to Maven Classloading</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -41,10 +41,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -52,9 +50,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-maven-classloading.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Maven Classloading <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-maven-classloading.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -165,7 +162,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_Maven_Classloading"></a> +<section> <h1>Guide to Maven Classloading</h1> <p>This is a description of the classloader hierarchy in Maven.</p> <ul> @@ -177,11 +174,11 @@ <li><a href="#Build_Extension_Classloaders">Build Extension Classloaders</a></li> <li><a href="#Project_Classloaders">Project Classloaders</a></li> <li><a href="#Plugin_Classloaders">Plugin Classloaders</a></li> -<li><a href="#Custom_Classloaders">Custom Classloaders</a></li></ul><section><a id="Overview"></a> +<li><a href="#Custom_Classloaders">Custom Classloaders</a></li></ul><section> <h2>Overview</h2> <p>Maven uses the <a class="externalLink" href="https://codehaus-plexus.github.io/plexus-classworlds/">Plexus Classworlds</a> classloading framework to create the classloader graph. If you look in your <code>${maven.home}/boot</code> directory, you will see a single JAR which is the Classworlds JAR we use to boot the classloader graph. The Classworlds JAR is the only element of the Java <code>CLASSPATH</code>. The other classloaders are built by Classworlds ("realms" in Classworlds terminology).</p> <p>Each realm exposes</p> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li>optionally some classes imported from 0..n other classloaders</li> <li>optionally some classes from a directory or JAR</li> <li>one parent classloader</li></ol> @@ -204,7 +201,7 @@ <p>Each plugin (which is not marked as build extension) has its own classloader that imports the Project classloader. </p> <p>Plugins marked with <code><extensions>true</extensions></code> leverage the Build Extension classloader instead of the Plugin classloader.</p> <p>Users can add dependencies to this classloader by adding dependencies to a plugin in the <code><a href="/ref/current/maven-model/maven.html#class_plugin">plugins/plugin</a></code> section of their project <code>pom.xml</code>. Here is a sample of adding <code>ant-nodeps</code> to the plugin classloader of the Antrun Plugin and hereby enabling the use of additional/optional Ant tasks:</p> -<pre><code> <plugin> +<div class="verbatim source"><pre class="prettyprint linenums"> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.3</version> @@ -216,7 +213,7 @@ </dependency> </dependencies> ... - </plugin></code></pre> + </plugin></pre></div> <p>Plugins can inspect their effective runtime class path via the expressions <code>${plugin.artifacts}</code> or <code>${plugin.artifactMap}</code> to have a list or map, respectively, of resolved artifacts injected from the <code><a href="/ref/current/maven-plugin-api/apidocs/org/apache/maven/plugin/descriptor/PluginDescriptor.html">PluginDescriptor</a></code>.</p> <p>Please note that the plugin classloader does neither contain the <a href="/ref/current/maven-model/maven.html#class_dependency">dependencies</a> of the current project nor its build output. Instead, plugins can query the project's compile, runtime and test class path from the <code><a href="/ref/current/apidocs/org/apache/maven/project/MavenProject.html">MavenProject</a></code> in combination with the mojo annotation <code>requiresDependencyResolution</code> from the <a href="/developers/mojo-api-specification.html">Mojo API Specification</a>. For instance, flagging a mojo with <code>@requiresDependencyResolution runtime</code> enables it to query the runtime class path of the current project from which it could create further classloaders.</p> <p>When a build plugin is executed, the thread's context classloader is set to the plugin classloader.</p></section><section> Modified: maven/website/content/guides/mini/guide-mirror-settings.html ============================================================================== --- maven/website/content/guides/mini/guide-mirror-settings.html (original) +++ maven/website/content/guides/mini/guide-mirror-settings.html Sun May 12 07:42:36 2024 @@ -2,19 +2,19 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-mirror-settings.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-mirror-settings.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Jason van Zyl" /> <meta name="author" content="Brian Fox" /> <meta name="author" content="Robert Scholte" /> <meta name="date" content="2015-01-02" /> - <title>Maven</title> + <title>Maven â Guide to Mirror Settings</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -41,10 +41,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -52,9 +50,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-mirror-settings.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Mirror Settings <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-mirror-settings.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -164,7 +161,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Using_Mirrors_for_Repositories"></a> +<section> <h1>Using Mirrors for Repositories</h1> <p>With <a href="/guides/introduction/introduction-to-repositories.html">Repositories</a> you specify from which locations you want to <i>download</i> certain artifacts, such as dependencies and maven-plugins. Repositories can be <a href="../mini/guide-multiple-repositories.html">declared inside a project</a>, which means that if you have your own custom repositories, those sharing your project easily get the right settings out of the box. However, you may want to use an alternative mirror for a particular repository without changing the project files.</p> <p>Some reasons to use a mirror are:</p> @@ -173,7 +170,7 @@ <li>You want to replace a particular repository with your own internal repository which you have greater control over</li> <li>You want to run a <a href="../../repository-management.html">repository manager</a> to provide a local cache to a mirror and need to use its URL instead</li></ul> <p>To configure a mirror of a given repository, you provide it in your settings file (<code>${user.home}/.m2/settings.xml</code>), giving the new repository its own <code>id</code> and <code>url</code>, and specify the <code>mirrorOf</code> setting that is the ID of the repository you are using a mirror of. For example, the ID of the main Maven Central repository included by default is <code>central</code>, so to use the different mirror instance, you would configure the following:</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> ... <mirrors> <mirror> @@ -184,16 +181,16 @@ </mirror> </mirrors> ... -</settings></code></pre> +</settings></pre></div> <p>Note that there can be at most one mirror for a given repository. In other words, you cannot map a single repository to a group of mirrors that all define the same <code><mirrorOf></code> value. Maven will not aggregate the mirrors but simply picks the first match. If you want to provide a combined view of several repositories, use a <a href="../../repository-management.html">repository manager</a> instead.</p> <p>The settings descriptor documentation can be found on the <a href="../../maven-settings/settings.html">Maven Local Settings Model Website</a>.</p> <p><b>Note</b>: The official Maven repository is at <code>https://repo.maven.apache.org/maven2</code> hosted by the Sonatype Company and is distributed worldwide via CDN.</p> -<p>A list of known mirrors is available in the <a class="externalLink" href="https://repo.maven.apache.org/maven2/.meta/repository-metadata.xml">Repository Metadata</a>. These mirrors may not have the same contents and we don't support them in any way.</p></section><section><a id="Using_A_Single_Repository"></a> +<p>A list of known mirrors is available in the <a class="externalLink" href="https://repo.maven.apache.org/maven2/.meta/repository-metadata.xml">Repository Metadata</a>. These mirrors may not have the same contents and we don't support them in any way.</p></section><section> <h1>Using A Single Repository</h1> <p>You can force Maven to use a single repository by having it mirror all repository requests. The repository must contain all of the desired artifacts, or be able to proxy the requests to other repositories. This setting is most useful when using an internal company repository with a <a href="../../repository-management.html">Maven Repository Manager</a> to proxy external requests.</p> <p>To achieve this, set <code>mirrorOf</code> to <code>*</code>.</p> <p><b>Note:</b> This feature is only available in Maven 2.0.5+.</p> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> ... <mirrors> <mirror> @@ -204,7 +201,7 @@ </mirror> </mirrors> ... -</settings></code></pre></section><section><a id="Advanced_Mirror_Specification"></a> +</settings></pre></div></section><section> <h1>Advanced Mirror Specification</h1> <p>A single mirror can handle multiple repositories. This is typically used in conjunction with a repository manager, that gives easy centralised configuration of the list of repositories behind.</p> <p>The syntax:</p> @@ -223,7 +220,7 @@ <li><code>external:*</code> = everything not on the localhost and not file based.</li> <li><code>repo,repo1</code> = repo or repo1</li> <li><code>*,!repo1</code> = everything except repo1</li></ul> -<pre><code><settings> +<div class="verbatim source"><pre class="prettyprint linenums"><settings> ... <mirrors> <mirror> @@ -240,7 +237,7 @@ </mirror> </mirrors> ... -</settings></code></pre></section><section><a id="Creating_Your_Own_Mirror"></a> +</settings></pre></div></section><section> <h1>Creating Your Own Mirror</h1> <p>The size of the central repository is <a class="externalLink" href="https://search.maven.org/stats">increasing steadily</a> To save us bandwidth and you time, mirroring the entire central repository is not allowed. (Doing so will get you automatically banned.) Instead, we suggest you setup a <a href="../../repository-management.html">repository manager</a> as a proxy.</p></section> </main> Modified: maven/website/content/guides/mini/guide-multiple-modules-4.html ============================================================================== --- maven/website/content/guides/mini/guide-multiple-modules-4.html (original) +++ maven/website/content/guides/mini/guide-multiple-modules-4.html Sun May 12 07:42:36 2024 @@ -2,15 +2,15 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/markdown/guides/mini/guide-multiple-modules-4.md at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/markdown/guides/mini/guide-multiple-modules-4.md at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> - <title>Maven</title> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> + <title>Maven â Guide to Working with Multiple Modules in Maven 4</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -37,10 +37,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -48,9 +46,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/markdown/guides/mini/guide-multiple-modules-4.md"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Working with Multiple Modules in Maven 4 <a href="https://github.com/apache/maven-site/tree/master/content/markdown/guides/mini/guide-multiple-modules-4.md"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -161,7 +158,221 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section> +<section><section> +<h2>Guide to Working with Multiple Modules in Maven 4</h2><!-- +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. +--> + +<p>(If you're working with Maven 3, please refer to the <a href="./guide-multiple-modules.html">Maven 3 edition of this guide</a>)</p> +<p>As seen in the introduction to the POM, Maven supports project aggregation in addition to project inheritance. +This section outlines how Maven processes projects with multiple modules, and how you can work with them more effectively.</p></section><section> +<h2>The Reactor</h2> +<p>The mechanism in Maven that handles multi-module projects is referred to as the <em>reactor</em>. +This part of the Maven core does the following:</p> +<ul> + +<li>Collects all the available modules to build</li> +<li>Sorts the modules into the correct build order</li> +<li>Selects which modules to build</li> +<li>Builds the selected modules in order</li> +</ul><section> +<h3>Collecting Modules</h3> +<p>Module collection starts from one aggregator project. +That project defines the modules of which it consists using the <code><modules></code> element. +This is a recursive process, so aggregators can have child modules which are aggregators themselves.</p> +<p>For this process to work, it does not matter which POM you start with. +Maven attempts to find the root of a multi-module project, by traversing upwards in the directory structure until it finds a POM with a <code>.mvn</code> sibling directory. +This allows Maven to resolve dependencies on modules from the same multi-module project, regardless of the location of the starting POM. +When Maven fails to find the root, it assumes that the starting POM is the root. +For consistent behaviour, create a <code>.mvn</code> directory in the root directory of the project.</p> +<p>There are two ways to point at a starting POM. +By default, Maven reads the <code>pom.xml</code> file in the working directory. +Using <code>-f</code>, you can point to another POM.</p></section><section> +<h3>Sorting Modules</h3> +<p>Because modules within a multi-module build can depend on each other, it is important that the reactor sorts all the projects in a way that guarantees any project is built before it is required.</p> +<p>The following relationships are honoured when sorting projects:</p> +<ul> + +<li>a project dependency on another module in the build</li> +<li>a plugin declaration where the plugin is another module in the build</li> +<li>a plugin dependency on another module in the build</li> +<li>a build extension declaration on another module in the build</li> +<li>the order declared in the <code><modules></code> element (if no other rule applies)</li> +</ul> +<p>Note that only “instantiated” references are used - <code>dependencyManagement</code> and <code>pluginManagement</code> elements do not cause a change to the reactor sort order.</p></section><section> +<h3>Selecting Modules</h3> +<p>By default, Maven builds all modules it has collected. +However, you can select a subset of these modules to build using command line flags. +These flags come in three categories:</p> +<ul> + +<li>Inclusion and exclusion</li> +<li>Relationships between modules</li> +<li>Dealing with failures</li> +</ul> +<p>This section ends with how these flags relate to each other.</p><section> +<h4>Inclusion and exclusion</h4> +<p>Using <code>--projects</code> you can specify which modules to build. +You can do this by specifying a comma-delimited list of project selectors. +A project selector is a string that is composed of the <code>groupId:artifactId</code>, only <code>:artifactId</code> or the relative path to a module.</p> +<p>A module can be selected (default), or excluded from the build. +You exclude a module by prefixing the selector with a <code>!</code> or <code>-</code>. +To explicitly select a module, prefix it with a <code>+</code>.</p> +<p>When a selector does not resolve to an existing module, Maven fails the build. +You can prevent this by adding the <code>?</code> prefix. +This prefix should always go after the other prefixes.</p></section><section> +<h4>Relationships between modules</h4> +<p>Modules inside a project can have two types of relationships: parent/child and dependency/dependent.</p> +<p>When selecting a parent (aggregator), Maven automatically selects the child modules as well. +Similarly, Maven excludes child modules of an excluded parent (aggregator). +To prevent this recursive behaviour, combine <code>--projects</code> with <code>--non-recursive</code>.</p> +<p>Maven knows about the dependencies between modules inside the multi-module project. +Using <code>--also-make</code>, Maven includes all dependencies of the selected projects in the build. +Similarly, <code>--also-make-dependents</code> lets Maven include all modules which are dependent on the selected projects.</p></section><section> +<h4>Dealing with failures</h4> +<p>There are several ways to customize how the reactor deals with failures. +<code>--fail-at-end</code> fails the build after building as many modules as possible. +In this case, modules that do not depend on a failed module, will still be built. +<code>--fail-fast</code>, in contrast, fails the build as soon as one module has failed. +This is the default behaviour. +<code>--fail-never</code> ignores build failures.</p> +<p>When a build has failed, and you want to start it again, you can skip building the modules that were previously built successfully using <code>--resume</code>. +To resume a build from a specific module, you can use <code>--resume-from <selector></code>.</p></section><section> +<h4>Bringing it together</h4> +<p>As said, Maven includes all modules in the reactor, even when the starting POM is not the root of the project. +The reactor then selects which modules to build using the following steps:</p> +<ol style="list-style-type: decimal"> + +<li>Reduce the full list of modules to the module of the starting POM and its children.</li> +<li>Further reduce this list to all modules included with <code>--projects</code> and, if <code>--resume</code> is given, the remaining modules of a previously failed build.</li> +<li>Further reduce this list by removing all modules that would have been built before the module selected by <code>--resume-from</code>.</li> +<li>Finally, further reduce this list by removing all modules that are excluded with <code>--projects</code> (using the <code>!</code> or <code>-</code> prefixes).</li> +</ol> +<p>Each of the steps 1, 2 and 3 honor the <code>--also-make</code> and <code>--also-make-dependents</code> flags, if they are given.</p></section></section></section><section> +<h2>Command Line Options</h2> +<p>No special configuration is required to take advantage of the reactor, however it is possible to customize its behavior.</p> +<p>The following command line switches are available:</p> +<table class="table table-striped"> +<thead> +<tr class="a"> +<th>Long</th> +<th>Short</th> +<th>Summary</th> +<th>Details</th></tr></thead><tbody> +<tr class="b"> +<td><code>--file</code></td> +<td><code>-f</code></td> +<td>Selects an alternative POM file or directory containing a POM file.</td> +<td><a href="#collecting-modules">Collecting Modules</a></td></tr> +<tr class="a"> +<td><code>--non-recursive</code></td> +<td><code>-N</code></td> +<td>Ignores any child modules that may be present in the starting POM. When combined with <code>-pl</code>, ignores the children of selected modules.</td> +<td><a href="#collecting-modules">Collecting Modules</a> and <a href="relationships-between-modules">Relationships between modules</a></td></tr> +<tr class="b"> +<td><code>--projects</code></td> +<td><code>-pl</code></td> +<td>Specifies the modules to include or exclude from a build.</td> +<td><a href="#inclusion-and-exclusion">Inclusion and exclusion</a></td></tr> +<tr class="a"> +<td><code>--also-make</code></td> +<td><code>-am</code></td> +<td>Builds the specified modules, and any of their dependencies in the reactor.</td> +<td><a href="#relationships-between-modules">Relationships between modules</a></td></tr> +<tr class="b"> +<td><code>--also-make-dependents</code></td> +<td><code>-amd</code></td> +<td>Builds the specified modules, and any that depend on them.</td> +<td><a href="#relationships-between-modules">Relationships between modules</a></td></tr> +<tr class="a"> +<td><code>--resume-from</code></td> +<td><code>-rf</code></td> +<td>Resumes a reactor from the specified project (e.g. when it fails in the middle).</td> +<td><a href="#dealing-with-failures">Dealing with failures</a></td></tr> +<tr class="b"> +<td><code>--resume</code></td> +<td><code>-r</code></td> +<td>Resumes a reactor from the module where the previous build failed.</td> +<td><a href="#dealing-with-failures">Dealing with failures</a></td></tr> +<tr class="a"> +<td><code>--fail-fast</code></td> +<td><code>-ff</code></td> +<td>Stops the overall build immediately whenever a module build fails. This is the default behavior.</td> +<td><a href="#dealing-with-failures">Dealing with failures</a></td></tr> +<tr class="b"> +<td><code>--fail-at-end</code></td> +<td><code>-fae</code></td> +<td>Continues the rest of the reactor if a particular module build fails and report all failed modules at the end instead.</td> +<td><a href="#dealing-with-failures">Dealing with failures</a></td></tr> +<tr class="a"> +<td><code>--fail-never</code></td> +<td><code>-fn</code></td> +<td>Never fails the build, regardless of the project result.</td> +<td><a href="#dealing-with-failures">Dealing with failures</a></td></tr></tbody> +</table> +</section><section> +<h2>Differences between Maven 3 and 4</h2> +<p><img src="multi-module.png" alt="Sample multi-module project" /></p> +<p>The table below illustrates multiple scenarios which have changed between Maven 3 and 4. They assume a project structure as depicted above.</p> +<table class="table table-striped"> +<thead> +<tr class="a"> +<th>Scenario</th> +<th>Outcome (in order)</th> +<th>Maven 3</th> +<th>Maven 4</th></tr></thead><tbody> +<tr class="b"> +<td>Build an aggregator and its children</td> +<td>module-c, module-c-1, module-c-2</td> +<td><code>mvn compile -pl module-c, module-c-1, module-c-2</code></td> +<td><code>mvn compile -pl module-c</code></td></tr> +<tr class="a"> +<td>Build an aggregator and ignore its children</td> +<td>module-c, module-c-1, module-c-2</td> +<td><code>mvn compile -pl module-c</code></td> +<td><code>mvn compile -pl module-c -N</code></td></tr> +<tr class="b"> +<td>Also make dependencies outside of current scope</td> +<td>parent, module-a, module-b, module-c, module-c-2</td> +<td>N/A</td> +<td><code>cd module-c/module-c-2 && mvn compile -am</code></td></tr> +<tr class="a"> +<td>Also make dependents outside of current scope</td> +<td>module-a, module-b, module-c-2</td> +<td>N/A</td> +<td><code>cd module-a && mvn compile -amd</code></td></tr> +<tr class="b"> +<td>Resuming from a module and build all dependencies</td> +<td>parent, module-a, module-b, module-c, module-c-2</td> +<td>N/A</td> +<td><code>mvn compile -rf :module-c-2 -am</code> or <code>mvn compile -r -am</code></td></tr> +<tr class="a"> +<td>Run specific goal on one submodule with dependencies from project</td> +<td>module-c-2</td> +<td><code>mvn install && mvn jetty:run -f module-c/module-c-2</code></td> +<td><code>mvn compile && mvn jetty:run -f module-c/module-c-2</code></td></tr></tbody> +</table> +</section><section> +<h2>More information</h2> +<ul> + +<li><a href="http://books.sonatype.com/mvnex-book/reference/multimodule.html" class="externalLink">Chapter 6. A Multi-module Project (Maven by Example)</a> - does not include Maven 4 changes!</li> +</ul></section></section> </main> </div> </div> Modified: maven/website/content/guides/mini/guide-multiple-modules.html ============================================================================== --- maven/website/content/guides/mini/guide-multiple-modules.html (original) +++ maven/website/content/guides/mini/guide-multiple-modules.html Sun May 12 07:42:36 2024 @@ -2,18 +2,18 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-multiple-modules.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-multiple-modules.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Brett Porter" /> <meta name="author" content="Karl Heinz Marbaise" /> <meta name="date" content="2015-03-13" /> - <title>Maven</title> + <title>Maven â Guide to Working with Multiple Modules</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -40,10 +40,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -51,9 +49,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-multiple-modules.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Working with Multiple Modules <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-multiple-modules.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -164,16 +161,16 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_Working_with_Multiple_Modules"></a> +<section> <h1>Guide to Working with Multiple Modules</h1> <p>(If you're working with Maven 4, please refer to the <a href="./guide-multiple-modules-4.html"> Maven 4 edition of this guide</a>)</p> -<p>As seen in the introduction to the POM, Maven supports project aggregation in addition to project inheritance. This section outlines how Maven processes projects with multiple modules, and how you can work with them more effectively.</p><section><a id="The_Reactor"></a> +<p>As seen in the introduction to the POM, Maven supports project aggregation in addition to project inheritance. This section outlines how Maven processes projects with multiple modules, and how you can work with them more effectively.</p><section> <h2>The Reactor</h2> <p>The mechanism in Maven that handles multi-module projects is referred to as the <i>reactor</i>. This part of the Maven core does the following:</p> <ul> <li>Collects all the available modules to build</li> <li>Sorts the projects into the correct build order</li> -<li>Builds the selected projects in order</li></ul><section><a id="Reactor_Sorting"></a> +<li>Builds the selected projects in order</li></ul><section> <h3>Reactor Sorting</h3> <p>Because modules within a multi-module build can depend on each other, it is important that the reactor sorts all the projects in a way that guarantees any project is built before it is required.</p> <p>The following relationships are honoured when sorting projects:</p> @@ -183,7 +180,7 @@ <li>a plugin dependency on another module in the build</li> <li>a build extension declaration on another module in the build</li> <li>the order declared in the <code><modules></code> element (if no other rule applies)</li></ul> -<p>Note that only "instantiated" references are used - <code>dependencyManagement</code> and <code>pluginManagement</code> elements do not cause a change to the reactor sort order.</p></section><section><a id="Command_Line_Options"></a> +<p>Note that only "instantiated" references are used - <code>dependencyManagement</code> and <code>pluginManagement</code> elements do not cause a change to the reactor sort order.</p></section><section> <h3>Command Line Options</h3> <p>No special configuration is required to take advantage of the reactor, however it is possible to customize its behavior.</p> <p>The following command line switches are available:</p> @@ -194,7 +191,7 @@ <li><code>--fail-fast</code> - the default behavior - whenever a module build fails, stop the overall build immediately</li> <li><code>--fail-at-end</code> - if a particular module build fails, continue the rest of the reactor and report all failed modules at the end instead</li> <li><code>--non-recursive</code> - do not use a reactor build, even if the current project declares modules and just build the project in the current directory</li></ul> -<p>Refer to the Maven command line interface reference for more information on these switches.</p></section></section><section><a id="More_information"></a> +<p>Refer to the Maven command line interface reference for more information on these switches.</p></section></section><section> <h2>More information</h2> <ul> <li><a class="externalLink" href="http://books.sonatype.com/mvnex-book/reference/multimodule.html"> Chapter 6. A Multi-module Project (Maven by Example)</a></li></ul></section></section> Modified: maven/website/content/guides/mini/guide-multiple-repositories.html ============================================================================== --- maven/website/content/guides/mini/guide-multiple-repositories.html (original) +++ maven/website/content/guides/mini/guide-multiple-repositories.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-multiple-repositories.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-multiple-repositories.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Jason van Zyl" /> <meta name="date" content="2005-10-12" /> - <title>Maven</title> + <title>Maven â Guide to using Multiple Repositories</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-multiple-repositories.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to using Multiple Repositories <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-multiple-repositories.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -162,10 +159,10 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Setting_up_Multiple_Repositories"></a> +<section> <h1>Setting up Multiple Repositories</h1> <p>There are two different ways that you can specify the use of multiple repositories. The first way is to specify in a POM which repositories you want to use. That is supported both inside and outside of build profiles:</p> -<pre><code> +<div class="verbatim source"><pre class="prettyprint linenums"> <project> ... <repositories> @@ -182,10 +179,10 @@ </repositories> ... </project> -</code></pre> +</pre></div> <p><b>NOTE:</b> You will also get the standard set of repositories as defined in the <a href="../introduction/introduction-to-the-pom.html#Super_POM">Super POM</a>.</p> <p>The other way you can specify multiple repositories is by creating a profile in the <code>${user.home}/.m2/settings.xml</code> or <code>${maven.home}/conf/settings.xml</code> file like the following:</p> -<pre><code> +<div class="verbatim source"><pre class="prettyprint linenums"> <settings> ... <profiles> @@ -208,30 +205,31 @@ </activeProfiles> ... </settings> -</code></pre> +</pre></div> <p>If you specify repositories in profiles you must remember to activate that particular profile! As you can see above we do this by registering a profile to be active in the <code>activeProfiles</code> element.</p> <p>You could also activate this profile on the command like by executing the following command:</p> +<div class="verbatim"> <pre> mvn -Pmyprofile ... -</pre> +</pre></div> <p>In fact the <code>-P</code> option will take a CSV list of profiles to activate if you wish to activate multiple profiles simultaneously.</p> -<p><b>Note</b>: The settings descriptor documentation can be found on the <a href="../../maven-settings/settings.html">Maven Local Settings Model Website</a>.</p><section><a id="Repository_Order"></a> +<p><b>Note</b>: The settings descriptor documentation can be found on the <a href="../../maven-settings/settings.html">Maven Local Settings Model Website</a>.</p><section> <h2>Repository Order</h2> <p>Remote repository URLs are queried in the following order for artifacts until one returns a valid result:</p> -<ol style="list-style-type: decimal;"> +<ol style="list-style-type: decimal"> <li>effective settings: -<ol style="list-style-type: upper-alpha;"> +<ol style="list-style-type: upper-alpha"> <li>Global <code>settings.xml</code></li> <li>User <code>settings.xml</code></li></ol></li> <li>local effective build POM: -<ol style="list-style-type: upper-alpha;"> +<ol style="list-style-type: upper-alpha"> <li>Local <code>pom.xml</code></li> <li>Parent POMs, recursively</li> <li>Super POM</li></ol></li> <li>effective POMs from dependency path to the artifact.</li></ol> <p>For each of these locations, the repositories within the profiles are queried first in the order outlined at <a href="../introduction/introduction-to-profiles.html">Introduction to build profiles</a>.</p> <p>Before downloading from a repository, <a href="./guide-mirror-settings.html">mirrors configuration</a> is applied.</p> -<p>Effective settings and local build POM, with profile taken into account, can easily be reviewed to see their repositories order with <code>mvn help:effective-settings</code> and <code>mvn help:effective-pom -Dverbose</code>.</p></section><section><a id="Repository_IDs"></a> +<p>Effective settings and local build POM, with profile taken into account, can easily be reviewed to see their repositories order with <code>mvn help:effective-settings</code> and <code>mvn help:effective-pom -Dverbose</code>.</p></section><section> <h2>Repository IDs</h2> <p>Each repository must have a <b>unique ID</b>. Clashing repository IDs within either effective settings or effective POMs lead to build failures. However, repositories from POM get overwritten by repositories with the same ID from effective settings. Repository IDs are also used in the <a class="externalLink" href="https://maven.apache.org/ref/3-LATEST/maven-repository-metadata/">local repository metadata</a>.</p></section></section> </main> Modified: maven/website/content/guides/mini/guide-naming-conventions.html ============================================================================== --- maven/website/content/guides/mini/guide-naming-conventions.html (original) +++ maven/website/content/guides/mini/guide-naming-conventions.html Sun May 12 07:42:36 2024 @@ -2,17 +2,17 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 2.0.0-M18 from content/apt/guides/mini/guide-naming-conventions.apt at 2024-05-11 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M10 from content/apt/guides/mini/guide-naming-conventions.apt at 2024-05-12 | Rendered using Apache Maven Fluido Skin 2.0.0-M6 --> <html xmlns="http://www.w3.org/1999/xhtml" lang="en"> <head> <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-M18" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M10" /> <meta name="author" content="Carlos Sanchez" /> <meta name="date" content="2005-11-01" /> - <title>Maven</title> + <title>Maven â Guide to Naming Conventions</title> <link rel="stylesheet" href="../../css/apache-maven-fluido-2.0.0-M6.min.css" /> <link rel="stylesheet" href="../../css/site.css" /> <link rel="stylesheet" href="../../css/print.css" media="print" /> @@ -39,10 +39,8 @@ <div class="container-fluid"> <header> <div id="banner"> - <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><h1>Apache Maven Site</h1> -</a></div> - <div class="pull-right"><a href="../.././" id="bannerRight"><h1>$esc.xml( $banner.name )</h1> -</a></div> + <div class="pull-left"><a href="https://www.apache.org/" id="bannerLeft"><img src="../../images/apache-maven-project.png" alt="Apache Maven Site" style="" /></a></div> + <div class="pull-right"><a href="../.././" id="bannerRight"><img src="../../images/maven-logo-black-on-white.png" alt="" style="" /></a></div> <div class="clear"><hr/></div> </div> @@ -50,9 +48,8 @@ <ul class="breadcrumb"> <li><a href="https://www.apache.org/" class="externalLink" title="Apache">Apache</a><span class="divider">/</span></li> <li><a href="../../index.html" title="Maven">Maven</a><span class="divider">/</span></li> - - <li class="active ">Maven <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-naming-conventions.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> - <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-11</li> + <li class="active ">Guide to Naming Conventions <a href="https://github.com/apache/maven-site/tree/master/content/apt/guides/mini/guide-naming-conventions.apt"><img src="../../images/accessories-text-editor.png" title="Edit" /></a></li> + <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2024-05-12</li> <li class="pull-right"><span class="divider">|</span> <a href="../../scm.html" title="Get Sources">Get Sources</a></li> <li class="pull-right"><a href="../../download.cgi" title="Download">Download</a></li> @@ -154,7 +151,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section><a id="Guide_to_naming_conventions_on_groupId.2C_artifactId.2C_and_version"></a> +<section> <h1>Guide to naming conventions on groupId, artifactId, and version</h1> <ul> <li><b>groupId</b> uniquely identifies your project across all projects. A group ID should follow <a class="externalLink" href="https://docs.oracle.com/javase/specs/jls/se6/html/packages.html#7.7">Java's package name rules</a>. This means it starts with a reversed domain name you control. For example,