<?xml version="1.0"?>
<document>
  <properties>
    <title>Welcome to Maven</title>
    <author email="brett@apache.org">Brett Porter</author>
  </properties>
  <body>
    <section name="Welcome to Maven">
      <div id="downloadbox">
        <h5>Get Maven 2.0.4</h5>
        <p>
          <a href="download.html">
            <img valign="top" src="http://maven.apache.org/images/folder-open.gif" border="0" alt="" title="download"/>
            Download
          </a>
          Maven 2.0.4
          <small>(1.1Mb)</small>
        </p>
        <ul>
          <li>
            <a href="download.html#requirements">System Requirements</a>
          </li>
          <li>
            <a href="download.html#installation">Installation Instructions</a>
          </li>
          <li>
            <a href="release-notes.html">Release Notes</a>
          </li>                         
          <li>
            <a href="guides/getting-started/index.html">Getting Started</a>
          </li>
          <li>
            <a href="guides/index.html">Documentation</a>
          </li>          
        </ul>
        <p>
          <a href="download.html">
            <img valign="top" src="http://maven.apache.org/images/folder-open.gif" border="0" alt="" title="download"/>
            Download
          </a>
          Maven 2.0.4 Tasks for Ant
          <small>(870k)</small>
        </p>
        <ul>
          <li>
            <a href="/ant-tasks.html">Documentation</a>
          </li>
        </ul>
      </div>
      <p>
        Maven is a software project management and comprehension tool. Based on the concept of a project object model
        (POM), Maven can manage a project's build, reporting and documentation from a central piece of information.
      </p>
      <p>
        <h4>Maven Documentation</h4>
      </p>
      <p>
        All the documentation for Maven is in the form of guides
        which can all be found <a href="guides/index.html">here</a>.
      </p>            
      <p>
        <h4>About Maven 2.0</h4>
      </p>
      <p>
        Maven 2.0 is a rewrite of the popular Maven application to achieve a number of goals, and to provide a stable
        basis to take it into the future.
      </p>
      <ul>
        <li>
          <i>
            <a href="what-is-maven.html">What is Maven?</a>
          </i>
        </li>
        <li>
          <i>What are the
            <a href="maven-features.html">features of Maven 2.0</a>
            ?
          </i>
        </li>
        <li>
          <i>Where is the
            <a href="guides/index.html">Documentation</a>
            ?
          </i>
        </li>
        <li>
          <i>Tell me about the
            <a href="about.html#m2-goals">goals of Maven 2.0</a>
          </i>
        </li>
        <li>
          <i>Can I
            <a href="about.html#get-involved">get involved</a>
            ?
          </i>
        </li>
        <li>
          <i>Where do I
            <a href="about.html#get-help">get help</a>
            with Maven 2.0?
          </i>
        </li>
      </ul>
      <p>
        <h4>Information for Maven 1.0 Users</h4>
      </p>
      <p>
        Maven 1.0 users will likely have a lot of questions about Maven 2.0 and how it will impact the future of Maven
        1.0.
      </p>
      <ul>
        <li>
          <i>
            <a href="maven1.html#">What's changed?</a>
          </i>
        </li>
        <li>
          <i>
            <a href="maven1.html#m1-or-m2">Should I use Maven 2.0, or Maven 1.0?</a>
          </i>
        </li>
        <li>
          <i>
            <a href="maven1.html#m1-future">What will happen</a>
            to Maven 1.0?
          </i>
        </li>
        <li>
          <i>Will my
            <a href="maven1.html#m1-plugins">Maven 1.0 plugins</a>
            be supported?
          </i>
        </li>
      </ul>
    </section>
  </body>
</document>
