<html><head>
      <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
   <title>1.4&nbsp;Installing Apache Maven</title><link rel="stylesheet" href="css/stylesheet.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.74.0"><link rel="home" href="index.html" title="A Guide to the GreenPages Sample"><link rel="up" href="ch01.html" title="1.&nbsp;Installing Pre-requisites"><link rel="prev" href="ch01s03.html" title="1.3&nbsp;Installing the Eclipse Tooling"><link rel="next" href="ch02.html" title="2.&nbsp;Installing and Running GreenPages"><!--Begin Google Analytics code--><script type="text/javascript">
			var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
			document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
		</script><script type="text/javascript">
			var pageTracker = _gat._getTracker("UA-2728886-3");
			pageTracker._setDomainName("none");
			pageTracker._setAllowLinker(true);
			pageTracker._trackPageview();
		</script><!--End Google Analytics code--></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">1.4&nbsp;Installing Apache Maven</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a>&nbsp;</td><th width="60%" align="center">1.&nbsp;Installing Pre-requisites</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Next</a></td></tr></table><hr></div><div class="section" lang="en"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="installation.maven"></a>1.4&nbsp;Installing Apache Maven</h2></div></div></div><p>
<span class="emphasis"><em>Apache Maven</em></span>, or Maven for short, is a software project management and comprehension tool
which uses a central <span class="emphasis"><em>Project Object Model</em></span> (POM) to manage a project&#8217;s build, reporting 
and documentation generation. POM files (<code class="literal">pom.xml</code>) are included in the projects for
GreenPages.
</p><p>
To install Maven, visit the Maven website (<a class="ulink" href="http://maven.apache.org" target="_top">http://maven.apache.org</a>) 
and follow the download instructions from there.
This document has been written and tested with Maven version 2.2.0. The rest of the document 
assumes that Maven 
commands (<code class="literal">mvn &#8230;</code>) are available from the command line.
</p></div><!--Begin LoopFuse code--><script src="http://loopfuse.net/webrecorder/js/listen.js" type="text/javascript"></script><script type="text/javascript">
			_lf_cid = "LF_48be82fa";
			_lf_remora();
		</script><!--End LoopFuse code--><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch01s03.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ch01.html">Up</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="ch02.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">1.3&nbsp;Installing the Eclipse Tooling&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top">&nbsp;2.&nbsp;Installing and Running GreenPages</td></tr></table></div></body></html>