Modified: maven/website/content/general.html ============================================================================== --- maven/website/content/general.html (original) +++ maven/website/content/general.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/fml/general.fml at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/fml/general.fml at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <title>Maven – Frequently Asked Technical Questions</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0.min.css" /> <link rel="stylesheet" href="./css/site.css" /> @@ -136,7 +136,7 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Frequently_Asked_Technical_Questions"></a><a name="top">Frequently Asked Technical Questions</a></h2> +<h1><a name="Frequently_Asked_Technical_Questions"></a><a name="top">Frequently Asked Technical Questions</a></h1> <ol style="list-style-type: decimal"> <li><a href="#encoding-warning">How do I prevent "[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!"</a></li> <li><a href="#scope-provided">How do I prevent including JARs in WEB-INF/lib? I need a "compile only" scope!</a></li> @@ -233,7 +233,7 @@ <li> For use in a plugin written in Java, Beanshell or other Java-like scripting language, you can construct the Ant tasks using the - <a class="externalLink" href="https://ant.apache.org/manual/antexternal.html">instructions given in the Ant + <a href="https://ant.apache.org/manual/antexternal.html" class="externalLink">instructions given in the Ant documentation</a> </li> @@ -571,11 +571,11 @@ Where: <path-to-file> the path to <ul> -<li><a class="externalLink" href="https://search.maven.org/">https://search.maven.org</a></li> +<li><a href="https://search.maven.org/" class="externalLink">https://search.maven.org</a></li> -<li><a class="externalLink" href="https://repository.apache.org">https://repository.apache.org</a></li> +<li><a href="https://repository.apache.org" class="externalLink">https://repository.apache.org</a></li> -<li><a class="externalLink" href="https://mvnrepository.com">https://mvnrepository.com</a></li> +<li><a href="https://mvnrepository.com" class="externalLink">https://mvnrepository.com</a></li> </ul> <p align="right"><a href="#top">[top]</a></p><hr /></dd>
Modified: maven/website/content/glossary.html ============================================================================== --- maven/website/content/glossary.html (original) +++ maven/website/content/glossary.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/markdown/glossary.md at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/markdown/glossary.md at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <title>Maven – Glossary</title> <link rel="stylesheet" href="./css/apache-maven-fluido-1.11.0.min.css" /> <link rel="stylesheet" href="./css/site.css" /> @@ -121,7 +121,7 @@ </div> </header> <main id="bodyColumn" class="span10" > -<section> +<section><section> <h2><a name="Glossary"></a>Glossary</h2><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file @@ -147,95 +147,73 @@ sometimes be confusing for newcomers.</p <ul> <li> - -<p><b>Project</b>: Maven thinks in terms of projects. Everything that you +<p><strong>Project</strong>: Maven thinks in terms of projects. Everything that you will build are projects. Those projects follow a well defined -“Project Object Model”. Projects can depend on other projects, in -which case the latter are called “dependencies”. A project may +Project Object Model. Projects can depend on other projects, in +which case the latter are called dependencies. A project may consist of several subprojects, however these subprojects are -still treated equally as projects.</p> -</li> +still treated equally as projects.</p></li> <li> - -<p><b>Project Object Model (POM)</b>: The Project Object Model, almost +<p><strong>Project Object Model (POM)</strong>: The Project Object Model, almost always referred as the POM for brevity, is the metadata that Maven -needs to work with your project. Its name is “project.xml” and it is -located in the root directory of each project.</p> -</li> +needs to work with your project. Its name is project.xml and it is +located in the root directory of each project.</p></li> <li> - -<p><b>Artifact</b>: An artifact is something that is either produced or +<p><strong>Artifact</strong>: An artifact is something that is either produced or used by a project. Examples of artifacts produced by Maven for a project include: JARs, source and binary distributions, WARs. Each artifact is identified by a <a href="#GroupId">group id</a>, an artifact ID, a version, an extension and a classifier -(extension+classifier may be named by a <a href="/ref/current/maven-core/artifact-handlers.html">type</a>).</p> -</li> +(extension+classifier may be named by a <a href="/ref/current/maven-core/artifact-handlers.html">type</a>).</p></li> <li> - -<p><b>GroupId</b>: A group ID is a universally unique identifier for a +<p><strong>GroupId</strong>: A group ID is a universally unique identifier for a project. While this is often just the project name (eg. <code>commons-collections</code>), it is helpful to use a fully-qualified package name to distinguish it from other projects with a similar -name (eg. <code>org.apache.maven</code>).</p> -</li> +name (eg. <code>org.apache.maven</code>).</p></li> <li> - -<p><b>Dependency</b>: A typical Java project relies on libraries to build -and/or run. Those are called “dependencies” inside Maven. Those +<p><strong>Dependency</strong>: A typical Java project relies on libraries to build +and/or run. Those are called dependencies inside Maven. Those dependencies are usually other projects' JAR artifacts, but are -referenced by the POM that describes them.</p> -</li> +referenced by the POM that describes them.</p></li> <li> - -<p><b>Plug-in</b>: Maven is organized in plugins. Every piece of +<p><strong>Plug-in</strong>: Maven is organized in plugins. Every piece of functionality in Maven is provided by a plugin. Plugins provide goals and use the metadata found in the POM to perform their task. Examples of plugins are: jar, eclipse, war. Plugins are primarily written in Java, but Maven also supports writing plug-ins in -Beanshell and Ant Scripting.</p> -</li> +Beanshell and Ant Scripting.</p></li> <li> - -<p><b>Mojo</b>: A plugin written in Java consists of one or more mojos. A +<p><strong>Mojo</strong>: A plugin written in Java consists of one or more mojos. A mojo is a Java class that implements the org.apache.maven.plugin.Mojo interface. This means that a mojo is -the implementation for a <b>goal</b> in a plugin.</p> -</li> +the implementation for a <strong>goal</strong> in a plugin.</p></li> <li> - -<p><b>Repository</b>:</p> +<p><strong>Repository</strong>:</p> <p>Refer to <a href="./guides/introduction/introduction-to-repositories.html">Introduction to -Repositories</a></p> -</li> +Repositories</a></p></li> <li> - -<p><b>Snapshots</b>: Projects can (and should) have a special version -including <code>SNAPSHOT</code> to indicate that they are a “work in progress”, +<p><strong>Snapshots</strong>: Projects can (and should) have a special version +including <code>SNAPSHOT</code> to indicate that they are a work in progress, and are not yet released. When a snapshot dependency is encountered, it is always looked for in all remote repositories, and downloaded again if newer than the local copy.</p> <p>The version can either be the string <code>SNAPSHOT</code> itself, indicating -“the very latest” development version, or something like +the very latest development version, or something like <code>1.1-SNAPSHOT</code>, indicating development that will be released as 1.1 -(i.e. newer than 1.0, but not yet 1.1).</p> -</li> +(i.e. newer than 1.0, but not yet 1.1).</p></li> <li> - -<p><b>APT</b>: APT is a wiki-like format of documentation that Maven +<p><strong>APT</strong>: APT is a wiki-like format of documentation that Maven currently understands.</p> <p>For information on how to create APT files, refer to the <a href="./guides/mini/guide-site.html">Guide to -creating a site</a> document.</p> -</li> +creating a site</a> document.</p></li> <li> - -<p><b>XDoc</b>: XDoc is the format of documentation that Maven currently +<p><strong>XDoc</strong>: XDoc is the format of documentation that Maven currently understands. It is quite simple, and allows embedding XHTML within a simple layout that is transformed into a uniform site.</p> <p>For information on how to create XDoc files, refer to the <a href="./guides/mini/guide-site.html">Guide to -creating a site</a> document.</p> -</li> -</ul></section> +creating a site</a> document.</p></li> +</ul></section></section> </main> </div> </div> Modified: maven/website/content/guides/development/guide-building-maven.html ============================================================================== --- maven/website/content/guides/development/guide-building-maven.html (original) +++ maven/website/content/guides/development/guide-building-maven.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-building-maven.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-building-maven.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Brett Porter Jason van Zyl" /> <meta name="date" content="2015-01-04" /> @@ -141,29 +141,29 @@ Jason van Zyl" /> </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Building_Maven"></a>Building Maven</h2><section> -<h3><a name="Why_would_I_want_to_build_Maven.3F"></a>Why would I want to build Maven?</h3> +<h1><a name="Building_Maven"></a>Building Maven</h1><section> +<h2><a name="Why_would_I_want_to_build_Maven.3F"></a>Why would I want to build Maven?</h2> <p>Building Maven (or a plugin, or any component) yourself is for one of two reasons:</p> <ul> <li>to try out a bleeding edge feature or bugfix (issues can be found in <a href="/issue-management.html"> JIRA</a>),</li> <li>to fix a problem you are having and submit a patch to the developers team.</li></ul></section><section> -<h3><a name="Checking_out_the_sources"></a>Checking out the sources</h3> +<h2><a name="Checking_out_the_sources"></a>Checking out the sources</h2> <p>All of the source code for Maven and its related libraries is in managed in the ASF source code repositories: for details, see <a href="/scm.html">https://maven.apache.org/scm.html</a>.</p></section><section> -<h3><a name="Building_Maven"></a>Building Maven</h3><section> -<h4><a name="Building_a_Maven_Plugin_or_Component"></a>Building a Maven Plugin or Component</h4> +<h2><a name="Building_Maven"></a>Building Maven</h2><section> +<h3><a name="Building_a_Maven_Plugin_or_Component"></a>Building a Maven Plugin or Component</h3> <p>Building a Maven plugin or component is like any Maven build:</p> <div class="source"><pre class="prettyprint linenums">mvn install</pre></div><section> -<h5><a name="Running_Integration_Tests"></a>Running Integration Tests</h5> +<h4><a name="Running_Integration_Tests"></a>Running Integration Tests</h4> <p>Before submitting a patch, it is advised to run the integration tests, which are available in the <code>run-its</code> profile:</p> <div class="source"><pre class="prettyprint linenums">mvn -Prun-its install</pre></div></section></section><section> -<h4><a name="Building_Maven_core"></a>Building Maven core</h4> +<h3><a name="Building_Maven_core"></a>Building Maven core</h3> <p>Until Maven 3.3, Maven core build could be boostrapped with an Ant build. This bootstrap has been removed in Maven 3.5: you need a pre-built Maven to build Maven from source.</p> <p>To do this, run from the source directory:</p> <div class="source"><pre class="prettyprint linenums">mvn install</pre></div> <p>The assemblies will be created in <code>apache-maven</code>, and can be manually unzipped to the location where you'd like the resulting Maven installed.</p> <p>If you want to have the resulting Maven directly copied to a directory, you can use the <code>distributionTargetDir</code> property:</p> <div class="source"><pre class="prettyprint linenums">mvn -DdistributionTargetDir="$HOME/app/maven/apache-maven-SNAPSHOT" install</pre></div><section> -<h5><a name="Running_the_full_Maven_core_integration_tests"></a>Running the full Maven core integration tests</h5> +<h4><a name="Running_the_full_Maven_core_integration_tests"></a>Running the full Maven core integration tests</h4> <p>Before checking in a change or submitting a patch to Maven core, it is required to run the core integration tests. Using your local build of Maven, run:</p> <div class="source"><pre class="prettyprint linenums">mvn test -Prun-its</pre></div> <p>Consult <a href="/core-its/">Core ITs documentation</a> for more options.</p></section></section></section></section> Modified: maven/website/content/guides/development/guide-committer-school.html ============================================================================== --- maven/website/content/guides/development/guide-committer-school.html (original) +++ maven/website/content/guides/development/guide-committer-school.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-committer-school.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-committer-school.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Stephen Connolly Robert Scholte" /> <meta name="date" content="2012-07-11 @@ -142,13 +142,13 @@ Robert Scholte" /> </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Do_you_want_to_become_a_Maven_Committer.3F"></a>Do you want to become a Maven Committer?</h2> +<h1><a name="Do_you_want_to_become_a_Maven_Committer.3F"></a>Do you want to become a Maven Committer?</h1> <p>The Apache Software Foundation is a meritocracy. By this we mean that you gain status based on the merit of your work and actions. In fact the status that you gain is a recognition of the merit of your work and actions.</p> <p>Maven is an Apache project, that means that we have to follow the Apache rules and way. One of those rules is that we cannot hand out commit access to anyone who asks for it.</p> <p>To gain commit access you must establish your merit by submitting patches that get picked up by existing committers.</p> <p>After you have contributed enough patches to establish merit, the project management committee decides whether you can be trusted with commit access.</p> <p><i>The reality is that "It is what it is"TL;DR To become a Maven committer write good patches and get them applied.</i></p></section><section> -<h2><a name="What_makes_a_good_patch.3F"></a>What makes a good patch?</h2> +<h1><a name="What_makes_a_good_patch.3F"></a>What makes a good patch?</h1> <p>A good patch is a patch that applies cleanly and includes tests that cover both the positive and negative case and has documentation where relevant.</p> <p>For example, if you were implementing a patch to fix <a class="externalLink" href="http://issues.apache.org/jira/browse/MNG-4612">MNG-4612</a> you would first need to write a test case that is failing when trying to encrypt</p> <div> @@ -167,12 +167,12 @@ Robert Scholte" /> <li>I revert src and run the tests. If any tests fail, then there is something wrong with the existing code => <b>If I have time I might try and fix the issue, otherwise I just move on</b></li> <li>I apply the patch a second time and run the tests. If the tests all pass => <b>Patch is good, I commit the patch and mark the JIRA as resolved</b></li></ol> <p>So there you have it, my guide to writing good patches... now the next step is getting your patches noticed...</p></section><section> -<h2><a name="How_to_get_your_patches_noticed"></a>How to get your patches noticed</h2> +<h1><a name="How_to_get_your_patches_noticed"></a>How to get your patches noticed</h1> <p>The simplest way to get your patches noticed is to submit them to the JIRA issue that they fix.</p> <p>Remember that the Maven project is run by volunteers in their spare time, so very often we may not notice your patch for a few days. </p> <p>If you are certain that your patch is a good patch, and a week has passed with no comments on JIRA, then you should send <i>one and only one</i> email to the <a class="externalLink" href="mailto:d...@maven.apache.org">d...@maven.apache.org</a> mailing list to see if your patch can get noticed.</p> <p><b>Note:</b> you need to be fairly confident that your patch is a good patch, because if you keep on pestering the Maven developers looking to have non-good patches applied, your merit will become negative and people will be less inclined to help you get your patches applied... also this is why you should send one and <i>only one</i> email about your patch on any specific JIRA issue.</p></section><section> -<h2><a name="Stephen.2C_Arnaud_.26_Barrie.27s_school_for_potential_Maven_committers"></a>Stephen, Arnaud & Barrie's school for potential Maven committers</h2> +<h1><a name="Stephen.2C_Arnaud_.26_Barrie.27s_school_for_potential_Maven_committers"></a>Stephen, Arnaud & Barrie's school for potential Maven committers</h1> <p>To help people who are interested in becoming Maven committers fulfill their goals, myself, Arnaud Heritier and Barrie Treloar (along with any other current Maven committers who decide to help) will be running an assignment based class to help people become committers. </p> <p>To register for the class you need to complete the following steps:</p> <ol style="list-style-type: decimal"> Modified: maven/website/content/guides/development/guide-documentation-style.html ============================================================================== --- maven/website/content/guides/development/guide-documentation-style.html (original) +++ maven/website/content/guides/development/guide-documentation-style.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-documentation-style.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-documentation-style.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Dennis Lundberg" /> <meta name="date" content="2008-07-12" /> <title>Maven – Guide To Maven Documentation Style</title> @@ -124,11 +124,11 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Guide_To_Maven_Documentation_Style"></a>Guide To Maven Documentation Style</h2><section> -<h3><a name="Where_did_the_style_came_from.3F"></a>Where did the style came from?</h3> +<h1><a name="Guide_To_Maven_Documentation_Style"></a>Guide To Maven Documentation Style</h1><section> +<h2><a name="Where_did_the_style_came_from.3F"></a>Where did the style came from?</h2> <p>The documentation style guide was created to make our documentation more consistent and also to apply best practices to the documentation as well. The standard has just been started and will expand over time based on the suggestions made on the Maven dev mailing list. It is a community consensus of how we should write our documentation.</p> <p>Each rule in this guide should come with a motivation as to why it exists. References to external sources are encouraged.</p></section><section> -<h3><a name="Date_format"></a>Date format</h3> +<h2><a name="Date_format"></a>Date format</h2> <p>How people format a date varies around the world, sometimes making it hard for people to understand each other. The solution to this problem comes in the form of the ISO-8601 standard.</p> <p>A date in our documentation must follow this standard:</p> <p><b>YYYY-MM-DD</b></p> @@ -141,16 +141,16 @@ ------ 2008-07-03 ------</pre></div><section> -<h4><a name="References"></a>References</h4> +<h3><a name="References"></a>References</h3> <ul> <li><a class="externalLink" href="http://www.w3.org/QA/Tips/iso-date">W3C Quality Web Tips</a></li> <li><a class="externalLink" href="http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=26780">ISO-8601</a></li> <li><a class="externalLink" href="http://en.wikipedia.org/wiki/ISO_8601">Wikipedia</a></li></ul></section></section><section> -<h3><a name="POM_Snippet"></a>POM Snippet</h3> +<h2><a name="POM_Snippet"></a>POM Snippet</h2> <p>A POM file must use 2 spaces for each indentation. Because POM snippets are often used in documentation to show the user how to configure something, it is important that these snippets aren't too wide. If they are too wide, the page is difficult to read on a smaller screen.</p> <p>When you use a snippet of XML from the POM as an example in documentation, make sure that the example is properly indented. A user should be able to copy and paste the example into their own POM without changing the indentation.</p> <p>Also, you should declare all parent POM elements to improve the comprehension. You could use ellipsis (i.e. ...) if you don't want to specify elements.</p><section> -<h4><a name="Example"></a>Example</h4> +<h3><a name="Example"></a>Example</h3> <p>The following is an example of how the distribution management of the Maven site is configured.</p> <div class="source"><pre class="prettyprint linenums"><project> ... @@ -163,12 +163,12 @@ ... </project></pre></div> <p>As you can see above the <code><distributionManagement></code> element is indented once (=2 spaces), the <code><site></code> element is indented twice (=4 spaces), and the <code><id></code> is indented three times (=6 spaces).</p></section></section><section> -<h3><a name="Naming_Documentation_Files"></a>Naming Documentation Files</h3> +<h2><a name="Naming_Documentation_Files"></a>Naming Documentation Files</h2> <p>All file names should replace space by a hyphen (-), for instance for this given APT document:</p> <div class="source"><pre class="prettyprint linenums"> guide-documentation-style.apt</pre></div></section><section> -<h3><a name="Updating_Documentation_Files"></a>Updating Documentation Files</h3> +<h2><a name="Updating_Documentation_Files"></a>Updating Documentation Files</h2> <p>A good practice is to update the date (with the correct date format) when you are updating documentation files.</p></section><section> -<h3><a name="Write_Thinking"></a>Write Thinking</h3> +<h2><a name="Write_Thinking"></a>Write Thinking</h2> <p>Here are some pointers about English rules when typing material:</p> <ul> <li><a class="externalLink" href="https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style">Wikipedia:Manual of Style</a>, specifically <a class="externalLink" href="https://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style#Punctuation">Punctuation Part</a></li></ul></section></section> Modified: maven/website/content/guides/development/guide-helping.html ============================================================================== --- maven/website/content/guides/development/guide-helping.html (original) +++ maven/website/content/guides/development/guide-helping.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-helping.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-helping.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Brett Porter Jason van Zyl" /> <meta name="date" content="2008-07-03 @@ -136,7 +136,7 @@ Jason van Zyl" /> </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Guide_to_helping_with_Maven"></a>Guide to helping with Maven</h2> +<h1><a name="Guide_to_helping_with_Maven"></a>Guide to helping with Maven</h1> <p>As with any open source project, there are several ways you can help:</p> <ul> <li>Join the <a href="../../mailing-lists.html">mailing lists</a> and answer other user's questions.</li> @@ -147,17 +147,17 @@ Jason van Zyl" /> <li><a href="./guide-testing-development-plugins.html"> test snapshot plugins</a> help test the latest development versions of plugins and report issues</li> <li>Help with the documentation by pointing out areas that are lacking or unclear, and if you can, submitting Pull Requests to correct it: use the "edit" button in the breadcrumb, just after the page title. You can also create appropriate issues <a class="externalLink" href="https://issues.apache.org/jira/browse/MNGSITE">by using the issue management system</a>.</li></ul> <p>Your participation in the community is much appreciated!</p></section><section> -<h2><a name="Why_Would_I_Want_to_Help.3F"></a>Why Would I Want to Help?</h2> +<h1><a name="Why_Would_I_Want_to_Help.3F"></a>Why Would I Want to Help?</h1> <p>There are several reasons these are good things.</p> <ul> <li>By answering other people's questions, you can learn more for yourself</li> <li>By submitting your own fixes, they get incorporated faster</li> <li>By reporting issues, you ensure that bugs don't get missed, or forgotten</li> <li>You are giving back to a community that has given you software for free</li></ul></section><section> -<h2><a name="How_do_I_Join_the_Project.3F"></a>How do I Join the Project?</h2> +<h1><a name="How_do_I_Join_the_Project.3F"></a>How do I Join the Project?</h1> <p>Projects at Apache operate under a meritocracy, meaning those that the developers notice participating to a high extent will be invited to join the project as a committer.</p> <p>This is as much based on personality and ability to work with other developers and the community as it is with proven technical ability. Being unhelpful to other users, or obviously looking to become a committer for bragging rights and nothing else is frowned upon, as is asking to be made a committer without having contributed sufficiently to be invited.</p></section><section> -<h2><a name="Developers_Conventions"></a>Developers Conventions</h2> +<h1><a name="Developers_Conventions"></a>Developers Conventions</h1> <p>There are a number of conventions used in the project, which contributors and developers alike should follow for consistency's sake.</p> <ul> <li><a href="../../developers/conventions/code.html">Maven Code Style And Convention</a></li> @@ -165,7 +165,7 @@ Jason van Zyl" /> <li><a href="../../developers/conventions/git.html">Maven Git Convention</a></li> <li><a href="../../developers/release/index.html">Releasing a Maven project</a></li> <li><a class="externalLink" href="https://cwiki.apache.org/confluence/display/MAVEN/Index">Apache Maven Wiki</a></li></ul></section><section> -<h2><a name="Resources_for_committers"></a>Resources for committers</h2> +<h1><a name="Resources_for_committers"></a>Resources for committers</h1> <ul> <li><a class="externalLink" href="http://www.apache.org/dev/"> Developer Resources</a></li> <li><a class="externalLink" href="http://www.apache.org/foundation/"> About the Apache Software Foundation</a></li> Modified: maven/website/content/guides/development/guide-maven-development.html ============================================================================== --- maven/website/content/guides/development/guide-maven-development.html (original) +++ maven/website/content/guides/development/guide-maven-development.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-maven-development.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-maven-development.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Emmanuel Venisse Trygve Laugstol Brett Porter @@ -143,19 +143,19 @@ Maarten Mulders" /> </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Developing_Maven"></a>Developing Maven</h2> +<h1><a name="Developing_Maven"></a>Developing Maven</h1> <p>This document describes how to get started developing Maven itself. There is a separate page describing how to <a href="./guide-building-maven.html">build Maven</a>.</p><section> -<h3><a name="Finding_some_work_to_do"></a>Finding some work to do</h3> +<h2><a name="Finding_some_work_to_do"></a>Finding some work to do</h2> <p>First of all you need something to work on! Issues can be found in <a href="/issue-management.html">several JIRA projects</a>.</p> <p>Another good place to look for work is the <a class="externalLink" href="https://s.apache.org/up-for-grabs_maven"> Up for grabs</a> list. This list contains relatively simple issues that can be worked on without a lot of prerequisite knowledge. </p> <p>When you find a issue you would like to work on, add a comment in the issue log so the core developers and other people looking for work know that someone is already working on it.</p></section><section> -<h3><a name="Where.27s_the_source.3F"></a>Where's the source?</h3> +<h2><a name="Where.27s_the_source.3F"></a>Where's the source?</h2> <p>See <a href="/scm.html">https://maven.apache.org/scm.html</a> for information. The Maven project uses the Apache GitBox Repositories, and all of them are dual-mirrored to <a class="externalLink" href="https://github.com/apache/"> GitHub</a>.</p></section><section> -<h3><a name="Don.27t_forget_tests.21"></a>Don't forget tests!</h3> +<h2><a name="Don.27t_forget_tests.21"></a>Don't forget tests!</h2> <p>You will find many unit tests. If at all possible, create or modify a unit test to demonstrate the problem, and then validate your fix.</p> <p>If you need to mock a class to write a test, use the Mockito framework. Parts of the Maven codebase predate Mockito so you will encounter existing tests that use EasyMock, PowerMock, and JMock. However, all newly written mocks should use Mockito, even if this means a module or a single class uses multiple mocking frameworks. If an existing test class has complicated legacy mock setup, you can add new Mockito based tests in a new test class. There is no requirement that all tests for a single model class must be in the same test class. It is OK to have multiple test classes per model class.</p> <p>If the problem case can't be set up in the unit tests, add an integration test. Before submitting a patch, in any case, you should run all of the integration tests. The tests require an empty local repository. See <a href="/core-its/core-it-suite/">Core IT Suite documentation</a> for more details.</p></section><section> -<h3><a name="Creating_and_submitting_a_patch">Creating and submitting a patch</a></h3> +<h2><a name="Creating_and_submitting_a_patch">Creating and submitting a patch</a></h2> <p>The most convenient way is to create a GitHub fork from the Git repository you are working with. When you have either completed an issue or just want some feedback on the work you have done, create a pull request. We have a couple of guidelines when submitting contributions:</p> <ul> <li>Verify the status of the <code>master</code> branch on <a class="externalLink" href="https://ci-maven.apache.org/job/Maven/job/maven-box/job/maven-dist-tool/job/master/site/dist-tool-master-jobs.html">Maven CI</a>. If it is not SUCCCESS, then first try to figure out the problem, don't start with your own issue yet! You can use <code>git bisect</code> to figure out the problematic commit and help with that committer to solve the problem.</li> @@ -167,7 +167,7 @@ Maarten Mulders" /> <p>A short note:</p> <ul> <li>Make sure that you follow our code style, see <a href="#Further_Links">Further Links</a>.</li></ul></section><section> -<h3><a name="Pull_request_acceptance_criteria"></a>Pull request acceptance criteria</h3> +<h2><a name="Pull_request_acceptance_criteria"></a>Pull request acceptance criteria</h2> <p>There are a number of criteria that a pull request will be judged on:</p> <ul> <li>Whether it works and does what is intended. This one is probably obvious!</li> @@ -175,7 +175,7 @@ Maarten Mulders" /> <li>Whether it contains tests. It is expected that any pull request relating to functionality will be accompanied by unit tests and/or integration tests. It is strongly desired (and will be requested) for bug fixes too, but will not be the basis for not applying it. At a bare minimum, the change should not decrease the amount of automated test coverage. As a community, we are focusing on increasing the current coverage, as there are several areas that do not receive automated testing.</li> <li>Whether it contains documentation. All new functionality needs to be documented for users, even if it is very rough for someone to expand on later. While rough is acceptable, incomplete is not. As with automated testing, as a community we are striving to increase the current coverage of documentation.</li></ul> <p>Above all, don't be discouraged. These are the same requirements the current committers should hold each other to as well. And remember, your contributions are always welcome!</p></section><section> -<h3><a name="Related_Projects"></a>Related Projects</h3> +<h2><a name="Related_Projects"></a>Related Projects</h2> <p>Maven has a few dependencies on other projects:</p> <ul> <li><b>Plexus</b> @@ -187,7 +187,7 @@ Maarten Mulders" /> <li><b>Mojo</b> <p>"Mojo" is really two things when it comes to Maven: it is both <a href="/ref/current/maven-plugin-api/">Maven's plug-in API</a> and also <a class="externalLink" href="http://www.mojohaus.org">a separate Mojohaus project</a> hosting a lot of plugins.</p> <p><a class="externalLink" href="http://www.mojohaus.org">The MojoHaus Project</a> is a plugin forge for non-core Maven plugins. There is also a lower bar for becoming a part of the project.</p></li></ul></section><section> -<h3><a name="Sub_Projects"></a>Sub Projects</h3> +<h2><a name="Sub_Projects"></a>Sub Projects</h2> <ul> <li><b>Maven Surefire</b> <p>Surefire is a testing framework. It can run regular JUnit tests so you won't have to change anything in your code to use it. It supports scripting tests in BeanShell and Jython and has special "batteries" for writing acceptance and functional tests for the web and for testing XML-RPC code.</p> @@ -201,7 +201,7 @@ Maarten Mulders" /> <li><b>Maven Wagon</b> <p>Maven Wagon is a standalone API that deals with transporting files and directories. Maven Core uses the Wagon API to download and upload artifacts and artifact metadata. The site plug-in uses it to publish the site.</p> <p>You can <a href="/wagon/">read more about Wagon</a>.</p></li></ul></section><section> -<h3><a name="Further_Links">Further Links</a></h3> +<h2><a name="Further_Links">Further Links</a></h2> <ul> <li><a href="../../developers/conventions/code.html">Maven Code Style And Code Convention</a></li> <li><a href="../../developers/conventions/jira.html">Maven JIRA Convention</a></li></ul></section></section> Modified: maven/website/content/guides/development/guide-plugin-documentation.html ============================================================================== --- maven/website/content/guides/development/guide-plugin-documentation.html (original) +++ maven/website/content/guides/development/guide-plugin-documentation.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-plugin-documentation.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-plugin-documentation.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Maven Team" /> <meta name="date" content="2006-07-06" /> <title>Maven – Guide to the Plugin Documentation Standard</title> @@ -124,19 +124,19 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Introduction"></a>Introduction</h2><section> -<h3><a name="Where_did_the_standard_come_from.3F"></a>Where did the standard come from?</h3> +<h1><a name="Introduction"></a>Introduction</h1><section> +<h2><a name="Where_did_the_standard_come_from.3F"></a>Where did the standard come from?</h2> <p>The plugin documentation standard was created to address the frequent complain of lack of documentation, specifically on the Maven plugins. The standard was based on the suggestions made on the Maven dev mailing list with some refinements. It is a community consensus of what basic documentation a Maven plugin should have. </p></section><section> -<h3><a name="Why_do_we_need_a_documentation_standard.3F"></a>Why do we need a documentation standard?</h3> +<h2><a name="Why_do_we_need_a_documentation_standard.3F"></a>Why do we need a documentation standard?</h2> <p>The standard is not a set of rules but a guide to help plugin developers document their plugins better, for the benefit of the users of the plugin. The standard also reminds the plugin developers of the important details that needs to be documented, to help speed up the adoption of the plugin.</p></section></section><section> -<h2><a name="Generated_Documentation"></a>Generated Documentation </h2> +<h1><a name="Generated_Documentation"></a>Generated Documentation </h1> <p>It is recommended that you let Maven generate the basic information for the plugin to make sure that that the basic information is always accurate and synchronized with the plugin implementation. </p> <p>Documentation is generated by running </p> <div class="source"><pre class="prettyprint linenums">mvn site</pre></div> <p>It will generate a plugin site based on the information in the POM, <code>src/site</code> and other reporting plugins configured in the POM. The most important reporting plugin is the <a href="/plugins/maven-plugin-plugin/">Maven Plugin Plugin</a> which will generate the documentation for each plugin goal based on the mojo annotations. But in order for the generated site to be usable, the required information should be available to the Maven Site Plugin.</p><section> -<h3><a name="POM_Elements"></a>POM Elements</h3> +<h2><a name="POM_Elements"></a>POM Elements</h2> <p>Maven extracts the information from the POM to generate the pages under Project Information. The first step in having a good documentation is to have an accurate and visible basic project information, Maven can provide this for the plugin as long as the information in the POM is complete, descriptive and accurate.</p><section> -<h4><a name="Required_Elements"></a>Required Elements</h4> +<h3><a name="Required_Elements"></a>Required Elements</h3> <p>Minimum elements for a valid POM:</p> <ul> <li><code><modelVersion></code> - POM model version, currently 4.0.0</li> @@ -144,7 +144,7 @@ <li><code><artifactId></code> - artifact name</li> <li><code><packaging></code> - type of artifact produced by the POM</li> <li><code><version></code> - the plugin version</li></ul></section><section> -<h4><a name="Optional_Elements"></a>Optional Elements </h4> +<h3><a name="Optional_Elements"></a>Optional Elements </h3> <p>These might be optional elements in a valid POM but they are important basic project information required by the users to effectively use the plugin:</p> <ul> <li><code><name></code> - plugin's name, <i>Maven NNN Plugin</i> for plugins hosted at the Maven project or <i>NNN Maven Plugin</i> for all others</li> @@ -199,7 +199,7 @@ <url>http://noonecare.org/</url> </organization> [...]</pre></div></li></ul></section></section><section> -<h3><a name="Plugin_Configuration_Parameters"></a>Plugin Configuration Parameters</h3> +<h2><a name="Plugin_Configuration_Parameters"></a>Plugin Configuration Parameters</h2> <p>The Maven Plugin Plugin is responsible for generating the Plugin Info site and needs to be added to the <code><reporting></code> section unless it is already inherited from a parent POM:</p> <div class="source"><pre class="prettyprint linenums"> [...] <reporting> @@ -239,9 +239,9 @@ public class ExampleMojo { [...]</pre></div></li> <li>the <code>@component</code> and <code>@readonly</code> parameters are not required to have any comments but it's still a good practice to provide one</li></ul></section><section> -<h3><a name="Site_Organization"></a>Site Organization </h3> +<h2><a name="Site_Organization"></a>Site Organization </h2> <p>Visibility of the information is also crucial, having uniform navigation links will greatly improve the visibility of the documentations. The index page can also help emphasize important sections and pages of the plugin documentation. </p><section> -<h4><a name="Site_Descriptor"></a>Site Descriptor </h4> +<h3><a name="Site_Descriptor"></a>Site Descriptor </h3> <p>The site descriptor describes the navigation links and can be found in <code>src/site/site.xml</code>. Below is the suggested site descriptor template.</p> <div class="source"><pre class="prettyprint linenums"><?xml version="1.0" encoding="UTF-8"?> <project> @@ -259,7 +259,7 @@ public class ExampleMojo </menu> </body> </project></pre></div><section> -<h5><a name="Navigation_Links"></a>Navigation Links</h5> +<h4><a name="Navigation_Links"></a>Navigation Links</h4> <ul> <li>Introduction <p>The introduction is the front page of the plugin documentation. This is a good place to place any section and pages that needs to be emphasized. It is also suggested that the generated plugin parameter configuration be linked here. Below is the suggested <code>src/site/apt/index.apt</code> template</p> @@ -336,7 +336,7 @@ Plugin Name <ul> <li><a href="/plugins/maven-javadoc-plugin/">Maven Javadoc Plugin Examples</a></li> <li><a href="/plugins/maven-war-plugin/">Maven War Plugin Examples</a></li></ul></li></ul></section></section></section><section> -<h3><a name="Recommended_Configured_Reports"></a>Recommended Configured Reports</h3> +<h2><a name="Recommended_Configured_Reports"></a>Recommended Configured Reports</h2> <p>There are 2 recommended report plugins to enhance the plugin documentation, Javadoc and JXR.</p> <ul> <li>Maven Javadoc Plugin Modified: maven/website/content/guides/development/guide-testing-development-plugins.html ============================================================================== --- maven/website/content/guides/development/guide-testing-development-plugins.html (original) +++ maven/website/content/guides/development/guide-testing-development-plugins.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-testing-development-plugins.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-testing-development-plugins.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Brett Porter" /> <meta name="date" content="2009-08-02" /> <title>Maven – Guide to Testing Development Versions of Plugins</title> @@ -140,12 +140,12 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Guide_to_Testing_Development_Versions_of_Plugins"></a>Guide to Testing Development Versions of Plugins</h2><section> -<h3><a name="Why_would_I_want_to_do_this.3F"></a>Why would I want to do this?</h3> +<h1><a name="Guide_to_Testing_Development_Versions_of_Plugins"></a>Guide to Testing Development Versions of Plugins</h1><section> +<h2><a name="Why_would_I_want_to_do_this.3F"></a>Why would I want to do this?</h2> <p>If a bug you are encountering has been reported as fixed but not yet released, you can confirm that it has been fixed for you. Or perhaps you just like to live on the bleeding edge.</p> <p>You are highly encouraged to join the development list for the project and provide your feedback, or help promote release of the plugin in question.</p> <p><i>Note:</i> This is <b>not</b> recommended as an everyday or in production practice! Snapshots are for testing purposes only and are not official releases. For more information, see <a class="externalLink" href="http://www.apache.org/dev/release.html#what"> the Releases FAQ</a>.</p></section><section> -<h3><a name="How_do_I_do_this.3F"></a>How do I do this?</h3> +<h2><a name="How_do_I_do_this.3F"></a>How do I do this?</h2> <p>Development versions of Maven plugins are periodically published to the repository: <a class="externalLink" href="https://repository.apache.org/snapshots/">https://repository.apache.org/snapshots/</a>.</p> <p><i>Note:</i> Currently, this is not done automatically by our continuous integration setup. This is coming soon.</p> <p>Other sites may publish there own - for example, the MojoHaus project hosts theirs at <a class="externalLink" href="https://oss.sonatype.org/content/repositories/snapshots/">https://oss.sonatype.org/content/repositories/snapshots/</a></p> @@ -177,7 +177,7 @@ </project></pre></div></li></ul> <p><i>Note:</i> These last two techniques mean that <i>every</i> plugin will be updated to the latest snapshot version.</p> <p>The development version will stop being used if the <code><pluginRepository></code> element is removed from your POM and the version is set back to the release version. If you are using the command line or an unspecified version, you will also need to remove the version from the local repository.</p></section><section> -<h3><a name="Using_Settings_without_Modifying_the_Project"></a>Using Settings without Modifying the Project</h3> +<h2><a name="Using_Settings_without_Modifying_the_Project"></a>Using Settings without Modifying the Project</h2> <p>If you are using the goals from the command line on a number of projects, you should include this in your <code>settings.xml</code> file instead.</p> <p>You need to modify your <code>${user.home}/.m2/settings.xml</code> file to include two new profiles and then when you need access to the plugin snapshots use <code>-Papache</code>. The profile only needs to be enabled once so that the plugins can be downloaded into you local repository. Once in your local repository Maven can successfully resolve the dependencies and the profile no longer needs to be activated.</p> <div class="source"><pre class="prettyprint linenums"><settings> @@ -204,9 +204,9 @@ </settings></pre></div> <p>When invoking Maven for Apache profile, do it like this:</p> <div class="source"><pre class="prettyprint linenums">mvn -Papache <phase|goal></pre></div></section><section> -<h3><a name="Using_a_Repository_Manager"></a>Using a Repository Manager</h3> +<h2><a name="Using_a_Repository_Manager"></a>Using a Repository Manager</h2> <p>In addition to the above you may want to use a repository manager so that you can retain the builds you have been using. For information on this technique, see the <a href="./guide-testing-releases.html"> Guide to Testing Staged Releases</a>.</p></section><section> -<h3><a name="How_do_I_make_changes_to_the_source_and_test_development_versions_of_the_plugins.3F"></a>How do I make changes to the source and test development versions of the plugins?</h3> +<h2><a name="How_do_I_make_changes_to_the_source_and_test_development_versions_of_the_plugins.3F"></a>How do I make changes to the source and test development versions of the plugins?</h2> <p>For information on this, see the <a href="./guide-maven-development.html">Guide to Maven Development</a>.</p></section></section> </main> </div> Modified: maven/website/content/guides/development/guide-testing-releases.html ============================================================================== --- maven/website/content/guides/development/guide-testing-releases.html (original) +++ maven/website/content/guides/development/guide-testing-releases.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/development/guide-testing-releases.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/development/guide-testing-releases.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Maven Team" /> <meta name="date" content="2007-12-21" /> <title>Maven – Guide to Testing Staged Releases</title> @@ -140,7 +140,7 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Guide_to_Testing_Staged_Releases"></a>Guide to Testing Staged Releases</h2> +<h1><a name="Guide_to_Testing_Staged_Releases"></a>Guide to Testing Staged Releases</h1> <p>As part of the release process, the artifacts are staged in a temporary repository for testing and evaluation before voting. Such repositories are not available by default, so to use them your project must be configured appropriately.</p> <p>The steps are as follows:</p> <ul> @@ -159,7 +159,7 @@ </pluginRepositories> ...</pre></div> <p>The important thing is that the staged release does not pollute your eventual environment as it may change if the vote fails and the release is made again. This is why clearing the local repository is necessary, but if you are using a repository manager this is also important to clear. The following provides instructions for setting Archiva up in such a way that the artifacts are isolated already.</p><section> -<h3><a name="Setting_up_Archiva_to_Test_Staged_Releases"></a>Setting up Archiva to Test Staged Releases</h3> +<h2><a name="Setting_up_Archiva_to_Test_Staged_Releases"></a>Setting up Archiva to Test Staged Releases</h2> <p>These steps will be similar for any repository manager - please refer to their individual documentation for instructions on how to configure remote proxies.</p> <p>For Archiva, the first step is to create a new managed repository for the staged releases. This will ensure they remain isolated from your environment. On the repositories tab, add a new managed repository with the settings:</p> <ul> @@ -190,7 +190,7 @@ <mirrorOf>staged-releases</mirrorOf> </mirror> ...</pre></div></section><section> -<h3><a name="Using_a_Settings_Profile"></a>Using a Settings Profile</h3> +<h2><a name="Using_a_Settings_Profile"></a>Using a Settings Profile</h2> <p>If you regularly test staged releases and want to have a more convenient way to add the repository to a build without modifying your POM, you may add a profile to your <code>~/.m2/settings.xml</code>:</p> <div class="source"><pre class="prettyprint linenums"> ... <profiles> Modified: maven/website/content/guides/getting-started/index.html ============================================================================== --- maven/website/content/guides/getting-started/index.html (original) +++ maven/website/content/guides/getting-started/index.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/getting-started/index.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/getting-started/index.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Jason van Zyl Vincent Siveton" /> <meta name="date" content="2006-11-01" /> @@ -147,10 +147,10 @@ Vincent Siveton" /> </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Maven_Getting_Started_Guide"></a>Maven Getting Started Guide</h2> +<h1><a name="Maven_Getting_Started_Guide"></a>Maven Getting Started Guide</h1> <p>This guide is intended as a reference for those working with Maven for the first time, but is also intended to serve as a cookbook with self-contained references and solutions for common use cases. For first time users, it is recommended that you step through the material in a sequential fashion. For users more familiar with Maven, this guide endeavours to provide a quick solution for the need at hand. It is assumed at this point that you have downloaded Maven and installed Maven on your local machine. If you have not done so please refer to the <a href="../../download.html">Download and Installation</a> instructions.</p> <p>Ok, so you now have Maven installed and we're ready to go. Before we jump into our examples we'll very briefly go over what Maven is and how it can help you with your daily work and collaborative efforts with team members. Maven will, of course, work for small projects, but Maven shines in helping teams operate more effectively by allowing team members to focus on what the stakeholders of a project require. You can leave the build infrastructure to Maven!</p></section><section> -<h2><a name="Sections"></a>Sections</h2> +<h1><a name="Sections"></a>Sections</h1> <ul> <li><a href="./index.html#What_is_Maven">What is Maven?</a></li> <li><a href="./index.html#How_can_Maven_benefit_my_development_process">How can Maven benefit my development process?</a></li> @@ -168,7 +168,7 @@ Vincent Siveton" /> <li><a href="./index.html#How_do_I_create_documentation">How do I create documentation?</a></li> <li><a href="./index.html#How_do_I_build_other_types_of_projects">How do I build other types of projects?</a></li> <li><a href="./index.html#How_do_I_build_more_than_one_project_at_once">How do I build more than one project at once?</a></li></ul><section> -<h3><a name="What_is_Maven.3F"></a><a name="What_is_Maven">What is Maven?</a></h3> +<h2><a name="What_is_Maven.3F"></a><a name="What_is_Maven">What is Maven?</a></h2> <p>At first glance Maven can appear to be many things, but in a nutshell Maven is an attempt <i>to apply patterns to a project's build infrastructure in order to promote comprehension and productivity by providing a clear path in the use of best practices</i>. Maven is essentially a project management and comprehension tool and as such provides a way to help with managing:</p> <ul> <li>Builds</li> @@ -179,12 +179,12 @@ Vincent Siveton" /> <li>Releases</li> <li>Distribution</li></ul> <p>If you want more background information on Maven you can check out <a href="../../background/philosophy-of-maven.html">The Philosophy of Maven</a> and <a href="../../background/history-of-maven.html">The History of Maven</a>. Now let's move on to how you, the user, can benefit from using Maven.</p></section><section> -<h3><a name="How_can_Maven_benefit_my_development_process.3F"></a><a name="How_can_Maven_benefit_my_development_process">How can Maven benefit my development process?</a></h3> +<h2><a name="How_can_Maven_benefit_my_development_process.3F"></a><a name="How_can_Maven_benefit_my_development_process">How can Maven benefit my development process?</a></h2> <p>Maven can provide benefits for your build process by employing standard conventions and practices to accelerate your development cycle while at the same time helping you achieve a higher rate of success.</p> <p>Now that we have covered a little bit of the history and purpose of Maven let's get into some real examples to get you up and running with Maven!</p></section><section> -<h3><a name="How_do_I_setup_Maven.3F"></a><a name="How_do_I_setup_Maven">How do I setup Maven?</a></h3> +<h2><a name="How_do_I_setup_Maven.3F"></a><a name="How_do_I_setup_Maven">How do I setup Maven?</a></h2> <p>The defaults for Maven are often sufficient, but if you need to change the cache location or are behind a HTTP proxy, you will need to create configuration. See the <a href="../mini/guide-configuring-maven.html"> Guide to Configuring Maven</a> for more information.</p></section><section> -<h3><a name="How_do_I_make_my_first_Maven_project.3F"></a><a name="How_do_I_make_my_first_Maven_project">How do I make my first Maven project?</a></h3> +<h2><a name="How_do_I_make_my_first_Maven_project.3F"></a><a name="How_do_I_make_my_first_Maven_project">How do I make my first Maven project?</a></h2> <p>We are going to jump headlong into creating your first Maven project! To create our first Maven project we are going to use Maven's archetype mechanism. An archetype is defined as <i>an original pattern or model from which all other things of the same kind are made</i>. In Maven, an archetype is a template of a project which is combined with some user input to produce a working Maven project that has been tailored to the user's requirements. We are going to show you how the archetype mechanism works now, but if you would like to know more about archetypes please refer to our <a href="../introduction/introduction-to-archetypes.html">Introduction to Archetypes</a>.</p> <p>On to creating your first project! In order to create the simplest of Maven projects, execute the following from the command line:</p> <div> @@ -257,7 +257,7 @@ Vincent Siveton" /> <p>As you can see, the project created from the archetype has a POM, a source tree for your application's sources and a source tree for your test sources. This is the standard layout for Maven projects (the application sources reside in <code>${basedir}/src/main/java</code> and test sources reside in <code>${basedir}/src/test/java</code>, where ${basedir} represents the directory containing <code>pom.xml</code>).</p> <p>If you were to create a Maven project by hand this is the directory structure that we recommend using. This is a Maven convention and to learn more about it you can read our <a href="../introduction/introduction-to-the-standard-directory-layout.html">Introduction to the Standard Directory Layout</a>.</p> <p>Now that we have a POM, some application sources, and some test sources you are probably asking...</p></section><section> -<h3><a name="How_do_I_compile_my_application_sources.3F"></a><a name="How_do_I_compile_my_application_sources">How do I compile my application sources?</a></h3> +<h2><a name="How_do_I_compile_my_application_sources.3F"></a><a name="How_do_I_compile_my_application_sources">How do I compile my application sources?</a></h2> <p>Change to the directory where pom.xml is created by archetype:generate and execute the following command to compile your application sources:</p> <div> <pre>mvn compile</pre></div> @@ -285,7 +285,7 @@ Vincent Siveton" /> <p>The first time you execute this (or any other) command, Maven will need to download all the plugins and related dependencies it needs to fulfill the command. From a clean installation of Maven, this can take quite a while (in the output above, it took almost 4 minutes). If you execute the command again, Maven will now have what it needs, so it won't need to download anything new and will be able to execute the command much more quickly.</p> <p>As you can see from the output, the compiled classes were placed in <code>${basedir}/target/classes</code>, which is another standard convention employed by Maven. So, if you're a keen observer, you'll notice that by using the standard conventions, the POM above is very small and you haven't had to tell Maven explicitly where any of your sources are or where the output should go. By following the standard Maven conventions, you can get a lot done with very little effort! Just as a casual comparison, let's take a look at what you might have had to do in <a class="externalLink" href="http://ant.apache.org">Ant</a> to accomplish the same <a href="../../ant/build-a1.xml">thing</a>.</p> <p>Now, this is simply to compile a single tree of application sources and the Ant script shown is pretty much the same size as the POM shown above. But we'll see how much more we can do with just that simple POM!</p></section><section> -<h3><a name="How_do_I_compile_my_test_sources_and_run_my_unit_tests.3F"></a><a name="How_do_I_compile_my_test_sources_and_run_my_unit_tests">How do I compile my test sources and run my unit tests?</a></h3> +<h2><a name="How_do_I_compile_my_test_sources_and_run_my_unit_tests.3F"></a><a name="How_do_I_compile_my_test_sources_and_run_my_unit_tests">How do I compile my test sources and run my unit tests?</a></h2> <p>Now you're successfully compiling your application's sources and now you've got some unit tests that you want to compile and execute (because every programmer always writes and executes their unit tests *nudge nudge wink wink*).</p> <p>Execute the following command:</p> <div> @@ -339,7 +339,7 @@ Vincent Siveton" /> <div> <pre> mvn test-compile</pre></div> <p>Now that you can compile your application sources, compile your tests, and execute the tests, you'll want to move on to the next logical step so you'll be asking ...</p></section><section> -<h3><a name="How_do_I_create_a_JAR_and_install_it_in_my_local_repository.3F"></a><a name="How_do_I_create_a_JAR_and_install_it_in_my_local_repository">How do I create a JAR and install it in my local repository?</a></h3> +<h2><a name="How_do_I_create_a_JAR_and_install_it_in_my_local_repository.3F"></a><a name="How_do_I_create_a_JAR_and_install_it_in_my_local_repository">How do I create a JAR and install it in my local repository?</a></h2> <p>Making a JAR file is straight forward enough and can be accomplished by executing the following command:</p> <div> <pre>mvn package</pre></div> @@ -407,7 +407,7 @@ Vincent Siveton" /> <div> <pre>mvn clean</pre></div> <p>This will remove the <code>target</code> directory with all the build data before starting so that it is fresh.</p></section><section> -<h3><a name="What_is_a_SNAPSHOT_version.3F"></a><a name="What_is_a_SNAPSHOT_version">What is a SNAPSHOT version?</a></h3> +<h2><a name="What_is_a_SNAPSHOT_version.3F"></a><a name="What_is_a_SNAPSHOT_version">What is a SNAPSHOT version?</a></h2> <p>Notice the value of the <b>version</b> tag in the <code>pom.xml</code> file shown below has the suffix: <code>-SNAPSHOT</code>.</p> <div class="source"><pre class="prettyprint linenums"><project xmlns="http://maven.apache.org/POM/4.0.0" ... @@ -420,7 +420,7 @@ Vincent Siveton" /> <p>The <code>SNAPSHOT</code> value refers to the 'latest' code along a development branch, and provides no guarantee the code is stable or unchanging. Conversely, the code in a 'release' version (any version value without the suffix <code>SNAPSHOT</code>) is unchanging.</p> <p>In other words, a SNAPSHOT version is the 'development' version before the final 'release' version. The SNAPSHOT is "older" than its release.</p> <p>During the <a href="../../plugins/maven-release-plugin/">release</a> process, a version of <b>x.y-SNAPSHOT</b> changes to <b>x.y</b>. The release process also increments the development version to <b>x.(y+1)-SNAPSHOT</b>. For example, version <b>1.0-SNAPSHOT</b> is released as version <b>1.0</b>, and the new development version is version <b>1.1-SNAPSHOT</b>.</p></section><section> -<h3><a name="How_do_I_use_plugins.3F"></a><a name="How_do_I_use_plugins">How do I use plugins?</a></h3> +<h2><a name="How_do_I_use_plugins.3F"></a><a name="How_do_I_use_plugins">How do I use plugins?</a></h2> <p>Whenever you want to customise the build for a Maven project, this is done by adding or reconfiguring plugins.</p> <p>For this example, we will configure the Java compiler to allow JDK 5.0 sources. This is as simple as adding this to your POM:</p> <div class="source"><pre class="prettyprint linenums">... @@ -441,7 +441,7 @@ Vincent Siveton" /> <p>You'll notice that all plugins in Maven look much like a dependency - and in some ways they are. This plugin will be automatically downloaded and used - including a specific version if you request it (the default is to use the latest available).</p> <p>The <code>configuration</code> element applies the given parameters to every goal from the compiler plugin. In the above case, the compiler plugin is already used as part of the build process and this just changes the configuration. It is also possible to add new goals to the process, and configure specific goals. For information on this, see the <a href="../introduction/introduction-to-the-lifecycle.html"> Introduction to the Build Lifecycle</a>.</p> <p>To find out what configuration is available for a plugin, you can see the <a href="../../plugins/"> Plugins List</a> and navigate to the plugin and goal you are using. For general information about how to configure the available parameters of a plugin, have a look at the <a href="../mini/guide-configuring-plugins.html">Guide to Configuring Plugins</a>.</p></section><section> -<h3><a name="How_do_I_add_resources_to_my_JAR.3F"></a><a name="How_do_I_add_resources_to_my_JAR">How do I add resources to my JAR?</a></h3> +<h2><a name="How_do_I_add_resources_to_my_JAR.3F"></a><a name="How_do_I_add_resources_to_my_JAR">How do I add resources to my JAR?</a></h2> <p>Another common use case that can be satisfied which requires no changes to the POM that we have above is packaging resources in the JAR file. For this common task, Maven again relies on the <a href="../introduction/introduction-to-the-standard-directory-layout.html">Standard Directory Layout</a>, which means by using standard Maven conventions you can package resources within JARs simply by placing those resources in a standard directory structure.</p> <p>You see below in our example we have added the directory <code>${basedir}/src/main/resources</code> into which we place any resources we wish to package in our JAR. The simple rule employed by Maven is this: any directories or files placed within the <code>${basedir}/src/main/resources</code> directory are packaged in your JAR with the exact same structure starting at the base of the JAR.</p> <div> @@ -515,7 +515,7 @@ InputStream is = getClass().getResourceA // Do something with the resource ...</pre></div></section><section> -<h3><a name="How_do_I_filter_resource_files.3F"></a><a name="How_do_I_filter_resource_files">How do I filter resource files?</a></h3> +<h2><a name="How_do_I_filter_resource_files.3F"></a><a name="How_do_I_filter_resource_files">How do I filter resource files?</a></h2> <p>Sometimes a resource file will need to contain a value that can only be supplied at build time. To accomplish this in Maven, put a reference to the property that will contain the value into your resource file using the syntax <code>${<property name>}</code>. The property can be one of the values defined in your pom.xml, a value defined in the user's settings.xml, a property defined in an external properties file, or a system property.</p> <p>To have Maven filter resources when copying, simply set <code>filtering</code> to true for the resource directory in your <code>pom.xml</code>:</p> <div class="source"><pre class="prettyprint linenums"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -645,7 +645,7 @@ command.line.prop=${command.line.prop}</ <p>Now, when you execute the following command (note the definition of the command.line.prop property on the command line), the <code>application.properties</code> file will contain the values from the system properties.</p> <div> <pre>mvn process-resources "-Dcommand.line.prop=hello again"</pre></div></section><section> -<h3><a name="How_do_I_use_external_dependencies.3F"></a><a name="How_do_I_use_external_dependencies">How do I use external dependencies?</a></h3> +<h2><a name="How_do_I_use_external_dependencies.3F"></a><a name="How_do_I_use_external_dependencies">How do I use external dependencies?</a></h2> <p>You've probably already noticed a <code>dependencies</code> element in the POM we've been using as an example. You have, in fact, been using an external dependency all this time, but here we'll talk about how this works in a bit more detail. For a more thorough introduction, please refer to our <a href="../introduction/introduction-to-dependency-mechanism.html">Introduction to Dependency Mechanism</a>.</p> <p>The <code>dependencies</code> section of the pom.xml lists all of the external dependencies that our project needs in order to build (whether it needs that dependency at compile time, test time, run time, or whatever). Right now, our project is depending on JUnit only (I took out all of the resource filtering stuff for clarity):</p> <div class="source"><pre class="prettyprint linenums"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -737,7 +737,7 @@ command.line.prop=${command.line.prop}</ </dependencies> </project></pre></div> <p>Now, when we compile the project (<code>mvn compile</code>), we'll see Maven download the log4j dependency for us.</p></section><section> -<h3><a name="How_do_I_deploy_my_jar_in_my_remote_repository.3F"></a><a name="How_do_I_deploy_my_jar_in_my_remote_repository">How do I deploy my jar in my remote repository?</a></h3> +<h2><a name="How_do_I_deploy_my_jar_in_my_remote_repository.3F"></a><a name="How_do_I_deploy_my_jar_in_my_remote_repository">How do I deploy my jar in my remote repository?</a></h2> <p>For deploying jars to an external repository, you have to configure the repository url in the pom.xml and the authentication information for connectiong to the repository in the settings.xml.</p> <p>Here is an example using scp and username/password authentication:</p> <div class="source"><pre class="prettyprint linenums"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" @@ -806,7 +806,7 @@ command.line.prop=${command.line.prop}</ </settings></pre></div> <p>Note that if you are connecting to an openssh ssh server which has the parameter "PasswordAuthentication" set to "no" in the sshd_confing, you will have to type your password each time for username/password authentication (although you can log in using another ssh client by typing in the username and password). You might want to switch to public key authentication in this case.</p> <p>Care should be taken if using passwords in <code>settings.xml</code>. For more information, see <a href="../mini/guide-encryption.html"> Password Encryption</a>.</p></section><section> -<h3><a name="How_do_I_create_documentation.3F"></a><a name="How_do_I_create_documentation">How do I create documentation?</a></h3> +<h2><a name="How_do_I_create_documentation.3F"></a><a name="How_do_I_create_documentation">How do I create documentation?</a></h2> <p>To get you jump started with Maven's documentation system you can use the archetype mechanism to generate a site for your existing project using the following command:</p> <div class="source"><pre class="prettyprint linenums">mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ @@ -814,7 +814,7 @@ command.line.prop=${command.line.prop}</ -DgroupId=com.mycompany.app \ -DartifactId=my-app-site</pre></div> <p>Now head on over to the <a href="../mini/guide-site.html">Guide to creating a site</a> to learn how to create the documentation for your project.</p></section><section> -<h3><a name="How_do_I_build_other_types_of_projects.3F"></a><a name="How_do_I_build_other_types_of_projects">How do I build other types of projects?</a></h3> +<h2><a name="How_do_I_build_other_types_of_projects.3F"></a><a name="How_do_I_build_other_types_of_projects">How do I build other types of projects?</a></h2> <p>Note that the lifecycle applies to any project type. For example, back in the base directory we can create a simple web application:</p> <div class="source"><pre class="prettyprint linenums">mvn archetype:generate \ -DarchetypeGroupId=org.apache.maven.archetypes \ @@ -848,7 +848,7 @@ command.line.prop=${command.line.prop}</ <div> <pre>mvn package</pre></div> <p>You'll see <code>target/my-webapp.war</code> is built, and that all the normal steps were executed.</p></section><section> -<h3><a name="How_do_I_build_more_than_one_project_at_once.3F"></a><a name="How_do_I_build_more_than_one_project_at_once">How do I build more than one project at once?</a></h3> +<h2><a name="How_do_I_build_more_than_one_project_at_once.3F"></a><a name="How_do_I_build_more_than_one_project_at_once">How do I build more than one project at once?</a></h2> <p>The concept of dealing with multiple modules is built in to Maven. In this section, we will show how to build the WAR above, and include the previous JAR as well in one step.</p> <p>Firstly, we need to add a parent <code>pom.xml</code> file in the directory above the other two, so it should look like this:</p> <div> Modified: maven/website/content/guides/getting-started/maven-in-five-minutes.html ============================================================================== --- maven/website/content/guides/getting-started/maven-in-five-minutes.html (original) +++ maven/website/content/guides/getting-started/maven-in-five-minutes.html Sat Aug 20 12:41:42 2022 @@ -2,14 +2,14 @@ <!-- - | Generated by Apache Maven Doxia Site Renderer 1.11.1 from content/apt/guides/getting-started/maven-in-five-minutes.apt at 2022-08-20 + | Generated by Apache Maven Doxia Site Renderer 2.0.0-M3 from content/apt/guides/getting-started/maven-in-five-minutes.apt at 2022-08-20 | Rendered using Apache Maven Fluido Skin 1.11.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 1.11.1" /> + <meta name="generator" content="Apache Maven Doxia Site Renderer 2.0.0-M3" /> <meta name="author" content="Eric Redmond" /> <meta name="date" content="2008-01-01" /> <title>Maven – Maven in 5 Minutes</title> @@ -138,10 +138,10 @@ </header> <main id="bodyColumn" class="span10" > <section> -<h2><a name="Maven_in_5_Minutes"></a>Maven in 5 Minutes</h2><section> -<h3><a name="Prerequisites"></a>Prerequisites</h3> +<h1><a name="Maven_in_5_Minutes"></a>Maven in 5 Minutes</h1><section> +<h2><a name="Prerequisites"></a>Prerequisites</h2> <p>You must understand how to install software on your computer. If you do not know how to do this, please ask someone at your office, school, etc. or pay someone to explain this to you. The Maven mailing lists are not the best place to ask for this advice.</p></section><section> -<h3><a name="Installation"></a>Installation</h3> +<h2><a name="Installation"></a>Installation</h2> <p><i>Maven is a Java tool, so you must have <a class="externalLink" href="https://www.oracle.com/technetwork/java/javase/downloads/index.html">Java</a> installed in order to proceed.</i></p> <p>First, <a href="../../download.html">download Maven</a> and follow the <a href="../../install.html">installation instructions</a>. After that, type the following in a terminal or in a command prompt:</p> <div> @@ -155,7 +155,7 @@ Default locale: en_US, platform encoding OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"</pre></div> <p>Depending upon your network setup, you may require extra configuration. Check out the <a href="../mini/guide-configuring-maven.html">Guide to Configuring Maven</a> if necessary.</p> <p><b>If you are using Windows, you should look at</b> <a href="./windows-prerequisites.html">Windows Prerequisites</a> <b>to ensure that you are prepared to use Maven on Windows.</b></p></section><section> -<h3><a name="Creating_a_Project"></a>Creating a Project</h3> +<h2><a name="Creating_a_Project"></a>Creating a Project</h2> <p>You need somewhere for your project to reside. Create a directory somewhere and start a shell in that directory. On your command line, execute the following Maven goal:</p> <div> <pre>mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.4 -DinteractiveMode=false</pre></div> @@ -181,7 +181,7 @@ OS name: "windows 10", version `-- app `-- AppTest.java</pre></div> <p>The <code>src/main/java</code> directory contains the project source code, the <code>src/test/java</code> directory contains the test source, and the <code>pom.xml</code> file is the project's Project Object Model, or POM.</p><section> -<h4><a name="The_POM"></a>The POM</h4> +<h3><a name="The_POM"></a>The POM</h3> <p>The <code>pom.xml</code> file is the core of a project's configuration in Maven. It is a single configuration file that contains the majority of information required to build a project in just the way you want. The POM is huge and can be daunting in its complexity, but it is not necessary to understand all of the intricacies just yet to use it effectively. This project's POM is:</p> <div class="source"><pre class="prettyprint linenums"><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> @@ -205,9 +205,9 @@ OS name: "windows 10", version </dependency> </dependencies> </project></pre></div></section><section> -<h4><a name="What_did_I_just_do.3F"></a>What did I just do?</h4> +<h3><a name="What_did_I_just_do.3F"></a>What did I just do?</h3> <p>You executed the Maven goal <i>archetype:generate</i>, and passed in various parameters to that goal. The prefix <i>archetype</i> is the <a href="../../plugins/index.html">plugin</a> that provides the goal. If you are familiar with <a class="externalLink" href="http://ant.apache.org">Ant</a>, you may conceive of this as similar to a task. This <i>archetype:generate</i> goal created a simple project based upon a <a href="/archetypes/maven-archetype-quickstart/">maven-archetype-quickstart</a> archetype. Suffice it to say for now that a <i>plugin</i> is a collection of <i>goals</i> with a general common purpose. For example the jboss-maven-plugin, whose purpose is "deal with various jboss items".</p></section><section> -<h4><a name="Build_the_Project"></a>Build the Project</h4> +<h3><a name="Build_the_Project"></a>Build the Project</h3> <div> <pre>mvn package</pre></div> <p>The command line will print out various actions, and end with the following:</p> @@ -233,7 +233,7 @@ OS name: "windows 10", version <p>Which will print the quintessential:</p> <div> <pre>Hello World!</pre></div></section></section><section> -<h3><a name="Java_9_or_later"></a>Java 9 or later</h3> +<h2><a name="Java_9_or_later"></a>Java 9 or later</h2> <p>By default your version of Maven might use an old version of the <code>maven-compiler-plugin</code> that is not compatible with Java 9 or later versions. To target Java 9 or later, you should at least use version 3.6.0 of the <code>maven-compiler-plugin</code> and set the <code>maven.compiler.release</code> property to the Java release you are targetting (e.g. 9, 10, 11, 12, etc.).</p> <p>In the following example, we have configured our Maven project to use version 3.8.1 of <code>maven-compiler-plugin</code> and target Java 11:</p> <div class="source"><pre class="prettyprint linenums"> <properties> @@ -252,8 +252,8 @@ OS name: "windows 10", version </pluginManagement> </build></pre></div> <p>To learn more about <code>javac</code>'s <code>--release</code> option, see <a class="externalLink" href="https://openjdk.java.net/jeps/247">JEP 247</a>.</p></section><section> -<h3><a name="Running_Maven_Tools"></a>Running Maven Tools</h3><section> -<h4><a name="Maven_Phases"></a>Maven Phases</h4> +<h2><a name="Running_Maven_Tools"></a>Running Maven Tools</h2><section> +<h3><a name="Maven_Phases"></a>Maven Phases</h3> <p>Although hardly a comprehensive list, these are the most common <i>default</i> lifecycle phases executed.</p> <ul> <li><b>validate</b>: validate the project is correct and all necessary information is available</li> @@ -274,11 +274,11 @@ OS name: "windows 10", version <div> <pre>mvn clean dependency:copy-dependencies package</pre></div> <p>This command will clean the project, copy dependencies, and package the project (executing all phases up to <i>package</i>, of course).</p></section><section> -<h4><a name="Generating_the_Site"></a>Generating the Site</h4> +<h3><a name="Generating_the_Site"></a>Generating the Site</h3> <div> <pre>mvn site</pre></div> <p>This phase generates a site based upon information on the project's pom. You can look at the documentation generated under <code>target/site</code>.</p></section></section><section> -<h3><a name="Conclusion"></a>Conclusion</h3> +<h2><a name="Conclusion"></a>Conclusion</h2> <p>We hope this quick overview has piqued your interest in the versatility of Maven. Note that this is a very truncated quick-start guide. Now you are ready for more comprehensive details concerning the actions you have just performed. Check out the <a href="./index.html">Maven Getting Started Guide</a>.</p></section></section> </main> </div>