---
title: Building
--- 

## Building with Maven

Fuse uses [Maven](http://maven.apache.org/) as its primary build tool for performing releases and uses the pom.xml to describe dependencies between modules. 

### Prequisites

* Download and [install Maven](http://maven.apache.org/download.html)
* Get the latest [Source](source.html)
* Java 1.6

### Maven options

To build ${project_name} maven has to be configured to use more memory

    set MAVEN_OPTS=-Xmx512m -XX:MaxPermSize=128m

### A normal build

If you are using Maven 3.0 or later then build as follows

    mvn install -Pdownload

The last argument, **-Pdownload**, is optional and typically only used on the first build as it adds some extra repos to the project just in case our dependencies have not quite reached the central Maven repository yet.

For using Maven 2.x or later please add the **m2** profile. e.g.

    mvn install -Pdownload,m2

Once you have done the first build to download dependencies you can omit the **download* profile

    mvn install -Pm2


### Doing a Quick Build

The following avoids running all the unit test cases, we just skip the test running phase and not the building part

    mvn -Dtest=false clean install

### Using an IDE

If you prefer to use an IDE then you can auto-generate the IDE's project files using maven plugins. e.g.

    mvn eclipse:eclipse
  
or

    mvn idea:idea

### Importing into Eclipse

If you have not already done so, you will need to make Eclipse aware of the Maven repository so that it can build everything. In the preferences, go to `Java -> Build Path -> Classpath` and define a new Classpath Variable named `M2_REPO` that points to your local Maven repository. i.e. `~/.m2/repository` on Unix and `c:\Documents and Settings\$username\.m2\repository` on Windows).

You can also get Maven to do this for you:

    mvn eclipse:add-maven-repo -Declipse.workspace=/path/to/the/workspace/ 

### See Also

* [Source](source.html)

