You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 6 Next »

Maven

Maven is a project management tool that can be used to build projects and manage dependencies.

Why use it

Maven greatly reduces the overhead of managing dependencies for a project. At build time, it automatically retrieves the most recent versions (or other version that you specify) of the libraries and jars on which your project depends, and - perhaps more importantly - the appropriate versions the libraries and jars on which those depend. Maven can be configured to retrieve files from a central location so copies of updated jars do not need to be distributed to individual developers.

Maven also supports the creation and use of archetypes, or project templates. By invoking an appropriate archetype, Maven will create the framework for new projects for you. MAP hopes to provide archetypes for some common project types.

Advantages over using Ant

How to get Maven

MAP's Maven archetypes and repositories

Integrating MyEclipse and Maven

Maven can be invoked from within Eclipse. Click here for instructions.

Integrating Bamboo and Maven

(if this is possible, we should probably have a separate page that is linked from a MyEclipse page and the Maven page.)

Best practices and recommendations

*Use the default Maven project structure for new projects. Although there is nothing inherently superior in this structure, experience has shown that it's easy to sink a lot of time on debating and deciding on a project structure with the ultimate selection not being significantly better than the alternative. The default Maven project structure works, so save time and consider the decision made. Plus, you won't have to configure Maven to use a different structure.

http://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html documents the default Maven project structure.

Resources

The official Maven project site
http://maven.apache.org

Books available through MIT subscriptions (certificates required)
On Safari Books (http://libraries.mit.edu.ezproxy.canberra.edu.au/get/safari/)
Maven: A Developer's Notebook
by Vincent Massoi; Timothy M. O'Brien

  • No labels