You are viewing a plain text version of this content. The canonical link for it is here.
Posted to site-commits@maven.apache.org by "svn-site-role.apache.org via site-commits" <si...@maven.apache.org> on 2026/10/31 21:08:58 UTC
svn commit: r1939840 - in maven/website/content: . guides guides/getting-started guides/introduction guides/mini repositories repository
Author: svn-site-role
Date: Sat Oct 31 21:08:58 2026
New Revision: 1939840
Log:
8bf14b0 Add an SCM URLs page to the POM reference
Added:
maven/website/content/pom-scm-urls.html
maven/website/content/repositories/dependency-resolution-misconceptions.html
Modified:
maven/website/content/.htaccess
maven/website/content/guides/getting-started/index.html
maven/website/content/guides/index.html
maven/website/content/guides/introduction/introduction-to-plugin-prefix-mapping.html
maven/website/content/guides/introduction/introduction-to-the-lifecycle.html
maven/website/content/guides/introduction/introduction-to-the-pom.html
maven/website/content/guides/mini/guide-configuring-plugins.html
maven/website/content/guides/mini/guide-default-execution-ids.html
maven/website/content/guides/mini/guide-naming-conventions.html
maven/website/content/pom.html
maven/website/content/project-faq.html
maven/website/content/repositories/artifacts.html
maven/website/content/repositories/index.html
maven/website/content/repositories/layout.html
maven/website/content/repositories/local.html
maven/website/content/repositories/metadata.html
maven/website/content/repositories/remote.html
maven/website/content/repository/central-index.html
maven/website/content/repository/central-metadata.html
maven/website/content/repository/guide-central-repository-upload.html
maven/website/content/repository/index.html
maven/website/content/repository/layout.html
maven/website/content/settings.html
Modified: maven/website/content/.htaccess
==============================================================================
--- maven/website/content/.htaccess Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/.htaccess Sat Oct 31 21:08:58 2026 (r1939840)
@@ -23,6 +23,10 @@ Redirect Permanent /developers/release/p
Redirect Permanent /development-process.html /archives/maven-1.x/development-process.html
Redirect Permanent /welcome-to-new-committers.html /developers/welcome-to-new-committers.html
+Redirect Permanent /scm/local.html /pom-scm-urls.html#Local_file_system
+Redirect Permanent /scm/scm-url-format.html /pom-scm-urls.html
+Redirect Permanent /scm/scms-overview.html /pom-scm-urls.html#Supported_SCMs
+
Redirect Permanent /plugins/maven-checkstyle-plugin/customize.html /plugins/maven-checkstyle-plugin/examples/custom-checker-config.html
Redirect Permanent /plugins/maven-checkstyle-plugin/howto.html /plugins/maven-checkstyle-plugin/usage.html
Redirect Permanent /plugins/maven-checkstyle-plugin/tips.html /plugins/maven-checkstyle-plugin/examples/multi-module-config.html
@@ -118,6 +122,8 @@ RedirectMatch ^/archives/maven-parent-LA
RedirectMatch ^/archives/(maven-.*-skin)-LATEST(.*)$ /skins-archives/$1-LATEST$2
RedirectMatch ^/archives/(maven-.*-extension)-LATEST(.*)$ /extensions-archives/$1-LATEST$2
+Redirect Permanent /resolver/common-misconceptions.html /repositories/dependency-resolution-misconceptions.html
+
# used in ATR announce templates - https://maven.apache.org/release-notes/{{PROJECT_KEY}}/{{VERSION}}
# redirect to the GitHub release page, the Git tag is usually <artifactId>-<version>
Modified: maven/website/content/guides/getting-started/index.html
==============================================================================
--- maven/website/content/guides/getting-started/index.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/getting-started/index.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,7 @@
<li><a href="../../guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
<li><a href="../../guides/introduction/introduction-to-the-pom.html">The POM</a></li>
<li><a href="../../guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/index.html
==============================================================================
--- maven/website/content/guides/index.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/index.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -171,6 +171,7 @@
<li><a href="./introduction/introduction-to-profiles.html">Profiles</a></li>
<li><a href="./mini/guide-configuring-plugins.html">Configuring Plug-ins</a></li>
<li><a href="../pom.html">POM Overview</a> (<a href="../ref/current/maven-model/maven.html">Technical Project Descriptor</a>)</li>
+<li><a href="../pom-scm-urls.html">SCM URLs</a></li>
<li><a href="../settings.html">Settings Overview</a> (<a href="../ref/current/maven-settings/settings.html">Technical Settings Descriptor</a>)</li>
</ul></section></section><section><a id="Plugin_Developer_Centre"></a>
<h2>Plugin Developer Centre</h2>
Modified: maven/website/content/guides/introduction/introduction-to-plugin-prefix-mapping.html
==============================================================================
--- maven/website/content/guides/introduction/introduction-to-plugin-prefix-mapping.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/introduction/introduction-to-plugin-prefix-mapping.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -108,7 +108,7 @@
<li class="active"><a>Plugin Prefix Resolution</a></li>
<li><a href="../../guides/mini/guide-default-execution-ids.html">Configuring Default Mojo Executions</a></li>
</ul></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/introduction/introduction-to-the-lifecycle.html
==============================================================================
--- maven/website/content/guides/introduction/introduction-to-the-lifecycle.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/introduction/introduction-to-the-lifecycle.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,7 @@
<li class="active"><a>The Build Lifecycle</a></li>
<li><a href="../../guides/introduction/introduction-to-the-pom.html">The POM</a></li>
<li><a href="../../guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/introduction/introduction-to-the-pom.html
==============================================================================
--- maven/website/content/guides/introduction/introduction-to-the-pom.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/introduction/introduction-to-the-pom.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,7 @@
<li><a href="../../guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
<li class="active"><a>The POM</a></li>
<li><a href="../../guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/mini/guide-configuring-plugins.html
==============================================================================
--- maven/website/content/guides/mini/guide-configuring-plugins.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/mini/guide-configuring-plugins.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -106,7 +106,7 @@
<li><a href="../../guides/introduction/introduction-to-plugin-prefix-mapping.html">Plugin Prefix Resolution</a></li>
<li><a href="../../guides/mini/guide-default-execution-ids.html">Configuring Default Mojo Executions</a></li>
</ul></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/mini/guide-default-execution-ids.html
==============================================================================
--- maven/website/content/guides/mini/guide-default-execution-ids.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/mini/guide-default-execution-ids.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -106,7 +106,7 @@
<li><a href="../../guides/introduction/introduction-to-plugin-prefix-mapping.html">Plugin Prefix Resolution</a></li>
<li class="active"><a>Configuring Default Mojo Executions</a></li>
</ul></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Modified: maven/website/content/guides/mini/guide-naming-conventions.html
==============================================================================
--- maven/website/content/guides/mini/guide-naming-conventions.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/guides/mini/guide-naming-conventions.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,7 @@
<li><a href="../../guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
<li><a href="../../guides/introduction/introduction-to-the-pom.html">The POM</a></li>
<li><a href="../../guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li><a href="../../pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="../../pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li><a href="../../settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
Added: maven/website/content/pom-scm-urls.html
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ maven/website/content/pom-scm-urls.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -0,0 +1,326 @@
+<!DOCTYPE html>
+
+
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 2.1.0 from content/markdown/pom-scm-urls.md at 2026-10-31
+ | Rendered using Apache Maven Fluido Skin 2.1.0
+-->
+<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.1.0" />
+ <title>SCM URLs – Maven</title>
+ <link rel="stylesheet" href="./css/apache-maven-fluido-2.1.0.min.css" />
+ <link rel="stylesheet" href="./css/site.css" />
+ <link rel="stylesheet" href="./css/print.css" media="print" />
+ <script src="./js/apache-maven-fluido-2.1.0.min.js"></script>
+ <!-- Matomo -->
+ <script>
+ var _paq = window._paq = window._paq || [];
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'/matomo.php']);
+ _paq.push(['setSiteId', '3']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+ </script>
+ <!-- End Matomo Code -->
+ </head>
+ <body>
+ <div class="container-fluid container-fluid-top">
+ <header>
+ <div id="banner">
+ <div class="pull-left"><div id="bannerLeft"><h1><a href="./"><img src="images/apache-maven-project-light-theme.svg" style="width: 489px;height: 83px;" /></a></h1></div></div>
+ <div class="pull-right"><div id="bannerRight"><h1><img src="images/logos/MavenLogoLeaf.svg" style="width: 340px;height: 83px;" /></h1></div></div>
+ <div class="clear"><hr/></div>
+ </div>
+
+ <div id="breadcrumbs">
+ <ul class="breadcrumb">
+ <li><a href="https://www.apache.org/">Apache</a><span class="divider">/</span></li>
+ <li><a href="index.html">Maven</a><span class="divider">/</span></li>
+ <li class="active">SCM URLs <a href="https://github.com/apache/maven-site/tree/master/content/markdown/pom-scm-urls.md"><img src="./images/accessories-text-editor.png" alt="Edit" /></a></li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2026-10-31</li>
+ <li class="pull-right"><span class="divider">|</span>
+<a href="scm.html">Get Sources</a></li>
+ <li class="pull-right"><a href="download.cgi">Downloads</a></li>
+ </ul>
+ </div>
+ </header>
+ <div class="row-fluid">
+ <header id="leftColumn" class="span2">
+ <nav class="well sidebar-nav">
+ <ul class="nav nav-list">
+ <li class="nav-header">About Maven</li>
+ <li><a href="what-is-maven.html">What is Maven?</a></li>
+ <li><a href="install.html">Installation</a></li>
+ <li><a href="download.html">Downloads</a></li>
+ <li><a href="run.html">Use</a></li>
+ <li><a href="configure.html">Configure</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="docs/history.html">Release Notes</a></li>
+ <li><a href="security.html">Security Reports</a></li>
+ <li class="nav-header">Documentation</li>
+ <li><a href="plugins/index.html">Maven Plugins</a></li>
+ <li><a href="extensions/index.html">Maven Extensions</a></li>
+ <li><a href="tools/index.html"><span class="icon-chevron-down"></span>Maven Tools</a>
+ <ul class="nav nav-list">
+ <li><a href="tools/mvnd.html">Maven Daemon</a></li>
+ <li><a href="tools/mvnsh.html">Maven Shell</a></li>
+ <li><a href="tools/mvnup.html">Maven Upgrade Tool</a></li>
+ <li><a href="tools/mavenwrapper.html">Maven Wrapper</a></li>
+ </ul></li>
+ <li><a href="doxia/index.html"><span class="icon-chevron-right"></span>Doxia</a></li>
+ <li><a href="guides/index.html">Index (category)</a></li>
+ <li><a href="users/index.html"><span class="icon-chevron-down"></span>User Manual</a>
+ <ul class="nav nav-list">
+ <li><a><span class="icon-chevron-down"></span>Maven Build Fundamentals</a>
+ <ul class="nav nav-list">
+ <li><a href="guides/getting-started/maven-in-five-minutes.html">Maven in 5 Minutes</a></li>
+ <li><a href="users/getting-help.html">Getting Help</a></li>
+ <li><a href="run-maven/index.html">Running Maven</a></li>
+ </ul></li>
+ <li><a><span class="icon-chevron-down"></span>Maven Build Config Fundamentals</a>
+ <ul class="nav nav-list">
+ <li><a href="guides/plugins/validation/index.html">Plugins Validation</a></li>
+ <li><a href="guides/mini/guide-site.html"><span class="icon-chevron-right"></span>Creating a site</a></li>
+ <li><a href="guides/introduction/introduction-to-archetypes.html"><span class="icon-chevron-right"></span>Archetypes</a></li>
+ <li><a href="guides/introduction/introduction-to-repositories.html"><span class="icon-chevron-right"></span>Repositories</a></li>
+ <li><a href="guides/introduction/introduction-to-profiles.html">Profiles</a></li>
+ <li><a href="guides/introduction/introduction-to-the-standard-directory-layout.html">Standard Directory Layout</a></li>
+ <li><a href="guides/introduction/introduction-to-dependency-mechanism.html"><span class="icon-chevron-right"></span>Dependency Mechanism</a></li>
+ </ul></li>
+ <li><a href="guides/getting-started/index.html"><span class="icon-chevron-down"></span>Getting Started Guide</a>
+ <ul class="nav nav-list">
+ <li><a href="guides/mini/guide-naming-conventions.html">Naming Conventions</a></li>
+ <li><a href="guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
+ <li><a href="guides/introduction/introduction-to-the-pom.html">The POM</a></li>
+ <li><a href="guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
+ <li><a href="pom.html"><span class="icon-chevron-down"></span>POM 4.0.0 Reference</a>
+ <ul class="nav nav-list">
+ <li class="active"><a>SCM URLs</a></li>
+ </ul></li>
+ <li><a href="settings.html">Settings Reference</a></li>
+ </ul></li>
+ <li><a><span class="icon-chevron-down"></span>Maven 4</a>
+ <ul class="nav nav-list">
+ <li><a href="whatsnewinmaven4.html">What's new in Maven 4?</a></li>
+ <li><a href="guides/mini/guide-migration-to-mvn4.html">Starting with Maven 4</a></li>
+ <li><a href="guides/mini/guide-mixins.html">Maven Mixins</a></li>
+ </ul></li>
+ <li><a href="guides/mini/index.html"><span class="icon-chevron-right"></span>Guides</a></li>
+ <li><a href="general.html">FAQ</a></li>
+ </ul></li>
+ <li><a href="repositories/index.html"><span class="icon-chevron-right"></span>Maven Repositories</a></li>
+ <li><a href="plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
+ <li><a href="developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
+ <li><a href="articles.html">Books and Resources</a></li>
+ <li class="nav-header">Community</li>
+ <li><a href="community.html">Community Overview</a></li>
+ <li><a href="project-roles.html">Project Roles</a></li>
+ <li><a href="guides/development/guide-helping.html">How to Contribute</a></li>
+ <li><a href="users/getting-help.html">Getting Help</a></li>
+ <li><a href="issue-management.html">Issue Management</a></li>
+ <li><a href="scm.html">Getting Maven Source</a></li>
+ <li><a href="team.html">The Maven Team</a></li>
+ <li class="nav-header">Project Documentation</li>
+ <li><a href="project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li>
+ <li class="nav-header">Maven Projects</li>
+ <li><a href="ref/current">Maven</a></li>
+ <li><a href="archetypes/index.html">Archetypes</a></li>
+ <li><a href="extensions/index.html">Extensions</a></li>
+ <li><a href="pom/index.html">Parent POMs</a></li>
+ <li><a href="plugins/index.html">Plugins</a></li>
+ <li><a href="skins/index.html">Skins</a></li>
+ <li><a><span class="icon-chevron-down"></span>Components</a>
+ <ul class="nav nav-list">
+ <li><a href="archetype/index.html">Archetype</a></li>
+ <li><a href="resolver/index.html">Artifact Resolver</a></li>
+ <li><a href="doxia/index.html">Doxia</a></li>
+ <li><a href="maven-indexer/index.html">Indexer</a></li>
+ <li><a href="jxr/index.html">JXR</a></li>
+ <li><a href="plugin-testing/index.html">Plugin Testing</a></li>
+ <li><a href="plugin-tools/index.html">Plugin Tools</a></li>
+ <li><a href="apache-resource-bundles/index.html">Resource Bundles</a></li>
+ <li><a href="scm/index.html">SCM</a></li>
+ <li><a href="shared/index.html">Shared Components</a></li>
+ <li><a href="surefire/index.html">Surefire</a></li>
+ <li><a href="wagon/index.html">Wagon</a></li>
+ </ul></li>
+ <li class="nav-header">ASF</li>
+ <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
+ <li><a href="https://www.apache.org/foundation/">Foundation</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Data Privacy</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
+ <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </nav>
+ <div class="well sidebar-nav">
+ <div id="poweredBy">
+ <div class="clear"></div>
+ <div class="clear"></div>
+<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="./images/logos/maven-feather.png" /></a>
+ </div>
+ </div>
+ </header>
+ <main id="bodyColumn" class="span10">
+ <section><a id="SCM_URLs"></a>
+<h1>SCM URLs</h1>
+<p>The <code><connection></code>, <code><developerConnection></code> and <code><url></code> elements of the <a href="./pom.html#SCM"><code><scm></code> section of the POM</a> tell Maven and its plugins where a project's sources live. The connection elements hold an SCM URL, which <a href="/scm/">Maven SCM</a> parses to find the provider that talks to the version control system. This page describes the URL syntax and the SCM URL each of the standard providers expects. The provider's own configuration is described on the <a href="/scm/">Maven SCM site</a>.</p>
+<ul>
+<li><a href="#SCM_URL_format">SCM URL format</a></li>
+<li><a href="#Supported_SCMs">Supported SCMs</a></li>
+<li><a href="#Git">Git</a>
+<ul>
+<li><a href="#Different_fetch_and_push_URLs">Different fetch and push URLs</a></li></ul></li>
+<li><a href="#Subversion">Subversion</a></li>
+<li><a href="#Mercurial">Mercurial</a></li>
+<li><a href="#Local_file_system">Local file system</a></li></ul>
+<section><a id="SCM_URL_format"></a>
+<h2>SCM URL format</h2>
+<p>The general format of an SCM URL is</p>
+
+<pre><code class="nohighlight nocode">scm:<provider id><delimiter><provider-specific part>
+</code></pre>
+<p>The delimiter is either a colon (<code>:</code>) or a pipe (<code>|</code>). Use the pipe if one of the variables contains a colon, for example a Windows path.</p>
+<p>Provider IDs may be remapped with the plugin parameter <code>providerImplementations</code>, supported by both <a href="/maven-release/maven-release-plugin/prepare-mojo.html#providerImplementations">maven-release-plugin</a> and <a href="/scm/maven-scm-plugin/checkout-mojo.html#providerImplementations">maven-scm-plugin</a>.</p></section><section><a id="Supported_SCMs"></a>
+<h2>Supported SCMs</h2>
+<p>The following providers ship with Maven SCM.</p>
+<table class="table table-striped">
+<thead>
+<tr class="a">
+<th>SCM</th>
+<th>Provider ID</th>
+<th>Provider module</th>
+<th>Native Java</th></tr></thead><tbody>
+<tr class="b">
+<td><a href="#Git">Git</a></td>
+<td><code>git</code></td>
+<td><a href="/scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-gitexe/index.html">Git Executable Provider</a></td>
+<td>no</td></tr>
+<tr class="a">
+<td><a href="#Git">Git</a></td>
+<td><code>jgit</code></td>
+<td><a href="/scm/maven-scm-providers/maven-scm-providers-git/maven-scm-provider-jgit/index.html">JGit Provider</a></td>
+<td>yes</td></tr>
+<tr class="b">
+<td><a href="#Subversion">Subversion</a></td>
+<td><code>svn</code></td>
+<td><a href="/scm/maven-scm-providers/maven-scm-providers-svn/maven-scm-provider-svnexe/index.html">SVN Executable Provider</a></td>
+<td>no</td></tr>
+<tr class="a">
+<td><a href="#Mercurial">Mercurial</a></td>
+<td><code>hg</code></td>
+<td><a href="/scm/maven-scm-providers/maven-scm-provider-hg/index.html">Mercurial (Hg) Provider</a></td>
+<td>no</td></tr>
+<tr class="b">
+<td><a href="#Local_file_system">Local</a></td>
+<td><code>local</code></td>
+<td><a href="/scm/maven-scm-providers/maven-scm-provider-local/index.html">Local Provider</a></td>
+<td>yes</td></tr></tbody>
+</table>
+
+<p>A third-party provider, <a href="https://github.com/olamy/maven-scm-provider-svnjava" class="externalLink">maven-scm-provider-svnjava</a>, is a native Java Subversion provider based on SVNKit.</p>
+<p>See also the <a href="https://en.wikipedia.org/wiki/Comparison_of_revision_control_software" class="externalLink">comparison of revision control software</a> and the <a href="https://en.wikipedia.org/wiki/Source_Code_Management#Common_vocabulary" class="externalLink">common vocabulary of source code management</a>.</p>
+<p>The examples below use a colon as the delimiter.</p></section><section><a id="Git"></a>
+<h2>Git</h2>
+<p>The Git providers (<code>git</code> and <code>jgit</code>) accept the following URLs. The separator for the port is always a colon, because that part is specified in the <a href="https://git-scm.com/docs/git-clone#_git_urls" class="externalLink">Git URL specification</a>.</p>
+
+<pre><code class="nohighlight nocode">scm:git:git://server_name[:port]/path_to_repository
+scm:git:http://server_name[:port]/path_to_repository
+scm:git:https://server_name[:port]/path_to_repository
+scm:git:ssh://server_name[:port]/path_to_repository
+scm:git:file://[hostname]/path_to_repository
+</code></pre>
+<p>The SSH protocol also has an SCP-like syntax in which the protocol is left out:</p>
+
+<pre><code class="nohighlight nocode">scm:git:[<user>@]<host>:/<path-to-git-repo>
+</code></pre>
+<p>GitHub proposes this form by default, without the leading slash:</p>
+
+<pre><code class="nohighlight nocode">scm:git:[<user>@]<host>:<path-to-git-repo>
+</code></pre>
+<p>For example:</p>
+
+<pre><code class="nohighlight nocode">scm:git:git://github.com/path_to_repository
+scm:git:http://github.com/path_to_repository
+scm:git:https://github.com/path_to_repository
+scm:git:git@github.com:path_to_repository
+scm:git:ssh://github.com/path_to_repository
+scm:git:file://localhost/path_to_repository
+</code></pre><section><a id="Different_fetch_and_push_URLs"></a>
+<h3>Different fetch and push URLs</h3>
+<p>Sometimes read and write operations need different URLs, for example when fetching works over HTTP but pushing requires SSH. In that case, write both URLs into the <code><developerConnection></code> element, with the fetch URL prefixed by <code>[fetch=]</code> and the push URL prefixed by <code>[push=]</code>:</p>
+
+<pre class="prettyprint linenums"><code class="language-xml"><developerConnection>scm:git:[fetch=]http://mywebserver.org/path_to_repository[push=]ssh://username@otherserver:8898/~/repopath.git</developerConnection>
+</code></pre>
+<p>Further Git provider behavior and its configuration are described on the <a href="/scm/git.html">Maven SCM Git page</a>.</p></section></section><section><a id="Subversion"></a>
+<h2>Subversion</h2>
+<p>The <code>svn</code> provider accepts the following URLs:</p>
+
+<pre><code class="nohighlight nocode">scm:svn:svn://[username[:password]@]server_name[:port]/path_to_repository
+scm:svn:svn+ssh://[username@]server_name[:port]/path_to_repository
+scm:svn:file://[hostname]/path_to_repository
+scm:svn:http://[username[:password]@]server_name[:port]/path_to_repository
+scm:svn:https://[username[:password]@]server_name[:port]/path_to_repository
+</code></pre>
+<p>For example:</p>
+
+<pre><code class="nohighlight nocode">scm:svn:file:///svn/root/module
+scm:svn:file://localhost/path_to_repository
+scm:svn:file://my_server/path_to_repository
+scm:svn:http://svn.apache.org/svn/root/module
+scm:svn:https://username@svn.apache.org/svn/root/module
+scm:svn:https://username:password@svn.apache.org/svn/root/module
+</code></pre>
+<p>The provider configuration is described on the <a href="/scm/subversion.html">Maven SCM Subversion page</a>.</p></section><section><a id="Mercurial"></a>
+<h2>Mercurial</h2>
+<p>The <code>hg</code> provider takes the path or URL of the branch location. The supported protocols are HTTP, HTTPS and FILE, as well as a local path.</p>
+
+<pre><code class="nohighlight nocode">scm:hg:url_to_repository/local_repository_directory
+</code></pre>
+<p>For example:</p>
+
+<pre><code class="nohighlight nocode">scm:hg:http://host/v3
+scm:hg:file://C:/dev/project/v3 (windows drive)
+scm:hg:file:///home/smorgrav/dev/project/v3 (linux drive)
+scm:hg:/home/smorgrav/dev/project/v3 (local directory)
+</code></pre></section><section><a id="Local_file_system"></a>
+<h2>Local file system</h2>
+<p>The <code>local</code> provider reads from a directory and has no server. Its URL has this form:</p>
+
+<pre><code class="nohighlight nocode">scm:local<delimiter>path_to_repository<delimiter>module_name
+</code></pre>
+<ul>
+
+<li><code>path_to_repository</code>: the absolute or relative path to the parent directory of your <code>pom.xml</code>.</li>
+<li><code>module_name</code>: the name of the directory that contains your <code>pom.xml</code>.</li>
+</ul>
+<p>For example:</p>
+
+<pre><code class="nohighlight nocode">scm:local:/usr/modules:my_module
+scm:local|C:/javaprojects|my_module
+</code></pre></section></section> </main>
+ </div>
+ </div>
+ <hr/>
+ <footer>
+ <div class="container-fluid">
+ <div class="row-fluid">
+ <p>© 2002–2026
+<a href="https://www.apache.org/">The Apache Software Foundation</a>
+</p>
+ </div>
+ </div>
+ </footer>
+ <script>
+ anchors.add();
+ </script>
+ </body>
+</html>
\ No newline at end of file
Modified: maven/website/content/pom.html
==============================================================================
--- maven/website/content/pom.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/pom.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,10 @@
<li><a href="guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
<li><a href="guides/introduction/introduction-to-the-pom.html">The POM</a></li>
<li><a href="guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li class="active"><a>POM 4.0.0 Reference</a></li>
+ <li class="active"><a><span class="icon-chevron-down"></span>POM 4.0.0 Reference</a>
+ <ul class="nav nav-list">
+ <li><a href="pom-scm-urls.html">SCM URLs</a></li>
+ </ul></li>
<li><a href="settings.html">Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>
@@ -1375,15 +1378,16 @@ Display parameters as parsed by Maven (i
</code></pre>
<ul>
-<li><code><connection></code>, <code><developerConnection></code>: The two connection elements convey to how one is to connect to the version control system through Maven. Where connection requires read access for Maven to be able to find the source code (for example, an update), developerConnection requires a connection that will give write access. The Maven project has spawned another project named Maven SCM, which creates a common API for any SCMs that wish to implement it. The most popular are CVS and Subversion, however, there is a growing list of other supported <a href="/scm/scms-overview.html">SCMs</a>. All SCM connections are made through a common URL structure.</li>
+<li><code><connection></code>, <code><developerConnection></code>: The two connection elements convey to how one is to connect to the version control system through Maven. Where connection requires read access for Maven to be able to find the source code (for example, an update), developerConnection requires a connection that will give write access. The Maven project has spawned another project named Maven SCM, which creates a common API for any SCMs that wish to implement it. All SCM connections are made through a common URL structure.</li>
</ul>
<pre><code class="nohighlight nocode">scm:[provider]:[provider_specific]
</code></pre>
-<p>Where provider is the type of SCM system. For example, connecting to a CVS repository may look like this:</p>
+<p>Where provider is the type of SCM system. For example, connecting to a Git repository may look like this:</p>
-<pre><code class="nohighlight nocode">scm:cvs:pserver:127.0.0.1:/cvs/root:my-project
+<pre><code class="nohighlight nocode">scm:git:https://github.com/example/my-project.git
</code></pre>
+<p>The <a href="./pom-scm-urls.html">SCM URLs</a> page describes the URL format and the URLs of the supported SCMs.</p>
<ul>
<li>
Modified: maven/website/content/project-faq.html
==============================================================================
--- maven/website/content/project-faq.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/project-faq.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -94,6 +94,7 @@
<li><a href="repositories/layout.html">Maven Layout</a></li>
<li><a href="repositories/local.html">Maven Local Repository</a></li>
<li><a href="repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repositories/artifacts.html
==============================================================================
--- maven/website/content/repositories/artifacts.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/artifacts.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Added: maven/website/content/repositories/dependency-resolution-misconceptions.html
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ maven/website/content/repositories/dependency-resolution-misconceptions.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -0,0 +1,250 @@
+<!DOCTYPE html>
+
+
+<!--
+ | Generated by Apache Maven Doxia Site Renderer 2.1.0 from content/markdown/repositories/dependency-resolution-misconceptions.md at 2026-10-31
+ | Rendered using Apache Maven Fluido Skin 2.1.0
+-->
+<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.1.0" />
+ <title>Common Misconceptions About Dependency Resolution – Maven</title>
+ <link rel="stylesheet" href="../css/apache-maven-fluido-2.1.0.min.css" />
+ <link rel="stylesheet" href="../css/site.css" />
+ <link rel="stylesheet" href="../css/print.css" media="print" />
+ <script src="../js/apache-maven-fluido-2.1.0.min.js"></script>
+ <!-- Matomo -->
+ <script>
+ var _paq = window._paq = window._paq || [];
+ _paq.push(['disableCookies']);
+ _paq.push(['trackPageView']);
+ _paq.push(['enableLinkTracking']);
+
+ (function() {
+ var u="https://analytics.apache.org/";
+ _paq.push(['setTrackerUrl', u+'/matomo.php']);
+ _paq.push(['setSiteId', '3']);
+ var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
+ g.async=true; g.src=u+'/matomo.js'; s.parentNode.insertBefore(g,s);
+ })();
+ </script>
+ <!-- End Matomo Code -->
+ </head>
+ <body>
+ <div class="container-fluid container-fluid-top">
+ <header>
+ <div id="banner">
+ <div class="pull-left"><div id="bannerLeft"><h1><a href=".././"><img src="../images/apache-maven-project-light-theme.svg" style="width: 489px;height: 83px;" /></a></h1></div></div>
+ <div class="pull-right"><div id="bannerRight"><h1><img src="../images/logos/MavenLogoLeaf.svg" style="width: 340px;height: 83px;" /></h1></div></div>
+ <div class="clear"><hr/></div>
+ </div>
+
+ <div id="breadcrumbs">
+ <ul class="breadcrumb">
+ <li><a href="https://www.apache.org/">Apache</a><span class="divider">/</span></li>
+ <li><a href="../index.html">Maven</a><span class="divider">/</span></li>
+ <li class="active">Common Misconceptions About Dependency Resolution <a href="https://github.com/apache/maven-site/tree/master/content/markdown/repositories/dependency-resolution-misconceptions.md"><img src="../images/accessories-text-editor.png" alt="Edit" /></a></li>
+ <li id="publishDate" class="pull-right"><span class="divider">|</span> Last Published: 2026-10-31</li>
+ <li class="pull-right"><span class="divider">|</span>
+<a href="../scm.html">Get Sources</a></li>
+ <li class="pull-right"><a href="../download.cgi">Downloads</a></li>
+ </ul>
+ </div>
+ </header>
+ <div class="row-fluid">
+ <header id="leftColumn" class="span2">
+ <nav class="well sidebar-nav">
+ <ul class="nav nav-list">
+ <li class="nav-header">About Maven</li>
+ <li><a href="../what-is-maven.html">What is Maven?</a></li>
+ <li><a href="../install.html">Installation</a></li>
+ <li><a href="../download.html">Downloads</a></li>
+ <li><a href="../run.html">Use</a></li>
+ <li><a href="../configure.html">Configure</a></li>
+ <li><a href="https://www.apache.org/licenses/">License</a></li>
+ <li><a href="../docs/history.html">Release Notes</a></li>
+ <li><a href="../security.html">Security Reports</a></li>
+ <li class="nav-header">Documentation</li>
+ <li><a href="../plugins/index.html">Maven Plugins</a></li>
+ <li><a href="../extensions/index.html">Maven Extensions</a></li>
+ <li><a href="../tools/index.html"><span class="icon-chevron-down"></span>Maven Tools</a>
+ <ul class="nav nav-list">
+ <li><a href="../tools/mvnd.html">Maven Daemon</a></li>
+ <li><a href="../tools/mvnsh.html">Maven Shell</a></li>
+ <li><a href="../tools/mvnup.html">Maven Upgrade Tool</a></li>
+ <li><a href="../tools/mavenwrapper.html">Maven Wrapper</a></li>
+ </ul></li>
+ <li><a href="../doxia/index.html"><span class="icon-chevron-right"></span>Doxia</a></li>
+ <li><a href="../guides/index.html">Index (category)</a></li>
+ <li><a href="../users/index.html"><span class="icon-chevron-right"></span>User Manual</a></li>
+ <li><a href="../repositories/index.html"><span class="icon-chevron-down"></span>Maven Repositories</a>
+ <ul class="nav nav-list">
+ <li><a href="../repository/index.html"><span class="icon-chevron-right"></span>Maven Central Repository</a></li>
+ <li><a href="../repositories/artifacts.html">Maven Artifacts</a></li>
+ <li><a href="../repositories/metadata.html">Maven Metadata</a></li>
+ <li><a href="../repositories/layout.html">Maven Layout</a></li>
+ <li><a href="../repositories/local.html">Maven Local Repository</a></li>
+ <li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li class="active"><a>Dependency Resolution Misconceptions</a></li>
+ </ul></li>
+ <li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
+ <li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
+ <li><a href="../articles.html">Books and Resources</a></li>
+ <li class="nav-header">Community</li>
+ <li><a href="../community.html">Community Overview</a></li>
+ <li><a href="../project-roles.html">Project Roles</a></li>
+ <li><a href="../guides/development/guide-helping.html">How to Contribute</a></li>
+ <li><a href="../users/getting-help.html">Getting Help</a></li>
+ <li><a href="../issue-management.html">Issue Management</a></li>
+ <li><a href="../scm.html">Getting Maven Source</a></li>
+ <li><a href="../team.html">The Maven Team</a></li>
+ <li class="nav-header">Project Documentation</li>
+ <li><a href="../project-info.html"><span class="icon-chevron-right"></span>Project Information</a></li>
+ <li class="nav-header">Maven Projects</li>
+ <li><a href="../ref/current">Maven</a></li>
+ <li><a href="../archetypes/index.html">Archetypes</a></li>
+ <li><a href="../extensions/index.html">Extensions</a></li>
+ <li><a href="../pom/index.html">Parent POMs</a></li>
+ <li><a href="../plugins/index.html">Plugins</a></li>
+ <li><a href="../skins/index.html">Skins</a></li>
+ <li><a><span class="icon-chevron-down"></span>Components</a>
+ <ul class="nav nav-list">
+ <li><a href="../archetype/index.html">Archetype</a></li>
+ <li><a href="../resolver/index.html">Artifact Resolver</a></li>
+ <li><a href="../doxia/index.html">Doxia</a></li>
+ <li><a href="../maven-indexer/index.html">Indexer</a></li>
+ <li><a href="../jxr/index.html">JXR</a></li>
+ <li><a href="../plugin-testing/index.html">Plugin Testing</a></li>
+ <li><a href="../plugin-tools/index.html">Plugin Tools</a></li>
+ <li><a href="../apache-resource-bundles/index.html">Resource Bundles</a></li>
+ <li><a href="../scm/index.html">SCM</a></li>
+ <li><a href="../shared/index.html">Shared Components</a></li>
+ <li><a href="../surefire/index.html">Surefire</a></li>
+ <li><a href="../wagon/index.html">Wagon</a></li>
+ </ul></li>
+ <li class="nav-header">ASF</li>
+ <li><a href="https://www.apache.org/foundation/how-it-works.html">How Apache Works</a></li>
+ <li><a href="https://www.apache.org/foundation/">Foundation</a></li>
+ <li><a href="https://privacy.apache.org/policies/privacy-policy-public.html">Data Privacy</a></li>
+ <li><a href="https://www.apache.org/foundation/sponsorship.html">Sponsoring Apache</a></li>
+ <li><a href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
+ </ul>
+ </nav>
+ <div class="well sidebar-nav">
+ <div id="poweredBy">
+ <div class="clear"></div>
+ <div class="clear"></div>
+<a href="https://maven.apache.org/" class="builtBy" target="_blank"><img class="builtBy" alt="Built by Maven" src="../images/logos/maven-feather.png" /></a>
+ </div>
+ </div>
+ </header>
+ <main id="bodyColumn" class="span10">
+<section><a id="Common_Misconceptions_About_Dependency_Resolution"></a>
+<h1>Common Misconceptions About Dependency Resolution</h1>
+<p>Maven 2 plugins kept working with Maven 3, although <a href="/resolver/">Maven Resolver</a> resolves dependencies differently from Maven 2: resolution is now much more precise, and some Maven 2 behaviors no longer exist. This page lists the most common misconceptions.</p><section><a id="Misconception_Number_1.3A_How_Resolver_Works"></a>
+<h2>Misconception Number 1: How Resolver Works</h2>
+<p>(Simplified)</p>
+<p>The most common use of Resolver is to resolve dependencies transitively. Resolver performs three steps: “collect”, “transform”, and “resolve”. Resolver also exposes these steps as separate API calls.</p>
+<p>The “collect” step is first. During this step, Resolver builds the “dirty tree” (or dirty graph) of artifacts. While it builds the graph, Maven only uses POMs. If an artifact is not in your local repository, Maven downloads the POM only. With the POM, Resolver builds the current node of the graph and finds its outgoing vertices and adjacent nodes. The configured criteria decide which dependency continues from the current node POM.</p>
+<p>The “transform” step transforms the “dirty graph”. This is where conflict resolution happens. Resolver applies rules to resolve conflicting versions and conflicting scopes. If you ask for the “verbose tree”, conflict resolution does not remove graph nodes. It only marks the conflicts and the conflict “winner”. Therefore, the “verbose tree” cannot be resolved.</p>
+<p>Finally, in the “resolve” step, Resolver resolves the artifacts of the transformed graph nodes. It ensures that the corresponding files (for example, JAR files) are present in the local repository. It downloads them if needed.</p>
+<p>During the “collect” step, various criteria select the nodes. The configured scope filters are among these criteria. This leads to the notion of the “runtime graph” and the “test graph”.</p>
+<p>The “scope filter” selects what to omit. This use of the filter is not intuitive. Maven Core uses the filter this way. The default session filter in Maven is set up as follows:</p>
+
+<pre><code class="nohighlight nocode"> new ScopeDependencySelector("test", "provided")
+</code></pre>
+<p>This filter omits the dependencies of the “current dependency node” that are in the “test” and “provided” scope. In other words, this filter builds the “downstream runtime classpath” of the supplied artifact. It shows what the artifact needs at runtime when you depend on it.</p>
+<p>Note: These notions do not relate to Maven yet. Maven does not appear in this example. This is not the classpath that the Compiler or Surefire plugins use. It is only a showcase of how Resolver works.</p></section><section><a id="Misconception_Number_2.3A_.E2.80.9CTest_graph.E2.80.9D_is_a_Superset_of_the_.E2.80.9CRuntime_graph.E2.80.9D"></a>
+<h2>Misconception Number 2: “Test graph” is a Superset of the “Runtime graph”</h2>
+<p><strong>Wrong</strong>. For the runtime graph, Resolver omits the “test” scoped dependencies. This has interesting consequences. The example below shows this.</p>
+<p>The example below uses Guice and Guava. Your project uses Google Guice. You have declared Guice as a dependency:</p>
+
+<pre><code class="nohighlight nocode"> <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>${guiceVersion}</version>
+ </dependency>
+</code></pre>
+<p>The src/main code does not directly use Guava. However, Guava is a direct dependency of Guice. Your unit tests do need Guava so you add Guava as a test-scoped dependency. The POM now looks like this:</p>
+
+<pre><code class="nohighlight nocode"> <dependency>
+ <groupId>com.google.inject</groupId>
+ <artifactId>guice</artifactId>
+ <version>${guiceVersion}</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>${guavaVersion}</version>
+ <scope>test</scope>
+ </dependency>
+</code></pre>
+<p>The <code>dependency:tree</code> plugin for this project outputs this verbose tree:</p>
+
+<pre><code class="nohighlight nocode">[INFO] --- dependency:3.6.1:tree (default-cli) @ DEMO-PROJECT ---
+[INFO] DEMO-PROJECT
+[INFO] +- com.google.inject:guice:jar:6.0.0:compile
+[INFO] | +- javax.inject:javax.inject:jar:1:compile
+[INFO] | +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
+[INFO] | +- aopalliance:aopalliance:jar:1.0:compile
+[INFO] | \- (com.google.guava:guava:jar:31.0.1-jre:compile - omitted for duplicate)
+[INFO] \- com.google.guava:guava:jar:31.0.1-jre:test (scope not updated to compile)
+[INFO] +- com.google.guava:failureaccess:jar:1.0.1:test
+[INFO] +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:test
+[INFO] +- com.google.code.findbugs:jsr305:jar:3.0.2:test
+[INFO] +- org.checkerframework:checker-qual:jar:3.12.0:test
+[INFO] +- com.google.errorprone:error_prone_annotations:jar:2.7.1:test
+[INFO] \- com.google.j2objc:j2objc-annotations:jar:1.3:test
+</code></pre>
+<p>This is the “test graph” of the project. It contains a conflict indicated by the remarks “omitted for duplicate” and “scope not updated to compile” next to the Guava nodes.</p>
+<p>This setup has these results:</p>
+<ul>
+
+<li>When you compile, Guava is not on the compile classpath. You cannot touch it by mistake.</li>
+<li>When test-compile and test-execute run, Guava is present on the classpath, as expected.</li>
+</ul>
+<p>What happens when someone consumes this library downstream? Nothing. Everything works as expected.</p>
+<p>When a downstream project declares a dependency on your project, it gets this graph from the node of your library:</p>
+
+<pre><code class="nohighlight nocode">[INFO] --- dependency:3.6.1:tree (default-cli) @ DOWNSTREAM-PROJECT ---
+[INFO] DOWNSTREAM-PROJECT
+[INFO] \- DEMO-PROJECT:compile
+[INFO] \- com.google.inject:guice:jar:6.0.0:compile
+[INFO] +- javax.inject:javax.inject:jar:1:compile
+[INFO] +- jakarta.inject:jakarta.inject-api:jar:2.0.1:compile
+[INFO] +- aopalliance:aopalliance:jar:1.0:compile
+[INFO] \- com.google.guava:guava:jar:31.0.1-jre:compile
+[INFO] +- com.google.guava:failureaccess:jar:1.0.1:compile
+[INFO] +- com.google.guava:listenablefuture:jar:9999.0-empty-to-avoid-conflict-with-guava:compile
+[INFO] +- com.google.code.findbugs:jsr305:jar:3.0.2:compile
+[INFO] +- org.checkerframework:checker-qual:jar:3.12.0:compile
+[INFO] +- com.google.errorprone:error_prone_annotations:jar:2.7.1:compile
+[INFO] \- com.google.j2objc:j2objc-annotations:jar:1.3:compile
+</code></pre>
+<p>What happens here? The section “How Resolver Works” above explains this. For the “runtime graph” of the dependency, Resolver does not consider the “test” and “provided” scopes of the dependency artifact. Resolver omits them completely. It does not skip them. They do not exist in the graph.</p>
+<p>Therefore, no conflict happens. Resolver omits the “test” Guava during the “collect” step. Everything goes as expected.</p><section><a id="Important_Consequences"></a>
+<h3>Important Consequences</h3>
+<p>One consequence is not so obvious. It involves the <code>maven-assembly-plugin</code>. You want to assemble the “runtime” dependencies of the module.</p>
+<p>If you assemble from within the project, for example in the package phase, the packaging will be incomplete. Guava will be missing. If you assemble from outside the project, the assembly will contain Guava. This includes assembly from a subsequent module of the build or from a downstream dependency.</p>
+<p>This behavior was tracked as a <a href="https://issues.apache.org/jira/browse/MASSEMBLY-1008" class="externalLink">Maven Assembly plugin bug</a>, which was fixed in Assembly 3.7.0. The related <a href="https://issues.apache.org/jira/browse/MRESOLVER-391" class="externalLink">MRESOLVER-391</a> issue remains useful background, but it does not describe an unresolved bug in current Assembly releases. The Maven Assembly plugin previously considered the “test graph” of the project and then “cherry-picked” the runtime-scoped nodes from that graph.</p>
+<p>You must build different graphs for the “runtime” and “test” classpath. The Assembly plugin is a Mojo. It requests the “test graph”. Then it reads the configuration (the assembly descriptor). It learns the required scopes at this point. Then it “filters” the resolved “test graph” for the runtime scopes.</p>
+<p>This is wrong, because Guava is in the test scope. The plugin must read the configuration first. Then it must ask Resolver for the “runtime graph”. Then it must filter the graph. This problem does not exist with <code>maven-war-plugin</code>. The “war” Mojo asks for the “compile+runtime” scope. The WAR case is much simpler than the Assembly use case. The WAR plugin always packages the same scope.</p></section></section></section> </main>
+ </div>
+ </div>
+ <hr/>
+ <footer>
+ <div class="container-fluid">
+ <div class="row-fluid">
+ <p>© 2002–2026
+<a href="https://www.apache.org/">The Apache Software Foundation</a>
+</p>
+ </div>
+ </div>
+ </footer>
+ <script>
+ anchors.add();
+ </script>
+ </body>
+</html>
\ No newline at end of file
Modified: maven/website/content/repositories/index.html
==============================================================================
--- maven/website/content/repositories/index.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/index.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
@@ -167,6 +168,7 @@
<li><a href="layout.html">Layout</a></li>
<li><a href="local.html">Local Repositories</a></li>
<li><a href="remote.html">Remote Repositories</a></li>
+<li><a href="dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></section> </main>
</div>
</div>
Modified: maven/website/content/repositories/layout.html
==============================================================================
--- maven/website/content/repositories/layout.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/layout.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li class="active"><a>Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repositories/local.html
==============================================================================
--- maven/website/content/repositories/local.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/local.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li class="active"><a>Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repositories/metadata.html
==============================================================================
--- maven/website/content/repositories/metadata.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/metadata.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repositories/remote.html
==============================================================================
--- maven/website/content/repositories/remote.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repositories/remote.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -87,6 +87,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li class="active"><a>Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repository/central-index.html
==============================================================================
--- maven/website/content/repository/central-index.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repository/central-index.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -94,6 +94,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repository/central-metadata.html
==============================================================================
--- maven/website/content/repository/central-metadata.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repository/central-metadata.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -94,6 +94,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repository/guide-central-repository-upload.html
==============================================================================
--- maven/website/content/repository/guide-central-repository-upload.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repository/guide-central-repository-upload.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -94,6 +94,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repository/index.html
==============================================================================
--- maven/website/content/repository/index.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repository/index.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -96,6 +96,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/repository/layout.html
==============================================================================
--- maven/website/content/repository/layout.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/repository/layout.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -94,6 +94,7 @@
<li><a href="../repositories/layout.html">Maven Layout</a></li>
<li><a href="../repositories/local.html">Maven Local Repository</a></li>
<li><a href="../repositories/remote.html">Maven Remote Repositories</a></li>
+ <li><a href="../repositories/dependency-resolution-misconceptions.html">Dependency Resolution Misconceptions</a></li>
</ul></li>
<li><a href="../plugin-developers/index.html"><span class="icon-chevron-right"></span>Plugin Development</a></li>
<li><a href="../developers/index.html"><span class="icon-chevron-right"></span>Contribute to Maven</a></li>
Modified: maven/website/content/settings.html
==============================================================================
--- maven/website/content/settings.html Sat Oct 31 21:07:27 2026 (r1939839)
+++ maven/website/content/settings.html Sat Oct 31 21:08:58 2026 (r1939840)
@@ -102,7 +102,7 @@
<li><a href="guides/introduction/introduction-to-the-lifecycle.html">The Build Lifecycle</a></li>
<li><a href="guides/introduction/introduction-to-the-pom.html">The POM</a></li>
<li><a href="guides/mini/guide-configuring-plugins.html"><span class="icon-chevron-right"></span>Configuring Plugins</a></li>
- <li><a href="pom.html">POM 4.0.0 Reference</a></li>
+ <li><a href="pom.html"><span class="icon-chevron-right"></span>POM 4.0.0 Reference</a></li>
<li class="active"><a>Settings Reference</a></li>
</ul></li>
<li><a><span class="icon-chevron-down"></span>Maven 4</a>