This chapter shows you how to set up maven. The rest of the Developer Guide explains how to setup an entire project/extension.

{docbook}
<citetitle>
<para>
<emphasis role="bold">
Requirements
</emphasis>
</para>
</citetitle>
{docbook}

* JDK (Java Development Kit) 6.0 
* SVN 1.6+
* Maven 2.2.1+
* Tomcat 6.0.32 or JBoss EAP 5.1.1

{docbook}
<citetitle>
<para>
<emphasis role="bold">
Install and configure Maven
</emphasis>
</para>
</citetitle>
{docbook}


You need to add a system environment variable _{noformat}MAVEN_OPTS{noformat}_ (it could be in a .profile startup script on Linux/MacOS operating systems or in the global environment variables panel on Windows).

* Windows:*

{code}
set MAVEN_OPTS=-Xshare:auto -Xms128M -Xmx1G -XX:MaxPermSize=256M
{code}

* Linux/MacOS:
{code}
export MAVEN_OPTS="-Xshare:auto -Xms128M -Xmx1G -XX:MaxPermSize=256M"
{code}

{docbook}
<citetitle>
<para>
<emphasis role="bold">
Maven settings
</emphasis>
</para>
</citetitle>
{docbook}


*1.* Save the _settings.xml_ file to the _HOME/.m2/settings.xml_ path.

*2.* Edit and change the _local-properties_ profile, including:

* _exo.projects.directory.dependencies_ contains the application servers, and Openfire.

* each _exo.projects.app.AS-NAME.version_ contains the name and version of the application servers.

{note}
If the _settings.xml_ file has been existing, you can merge them. You will need the followings:

* The _local-properties_ profile, which defines properties, is used to build application server distributions of our products.

* The [repository|http://repository.exoplatform.org/public] to download our dependencies.
{note}

{docbook}
<para>
<prompt>
    <emphasis role="bold">See also</emphasis>
</prompt>
</para>
{docbook}

[Create an extension|#DEV.CreateYourOwnPortal.CreateExtensionProject]

[Create a skin|#DEV.CreateYourOwnPortal.CreateCustomLookAndFeel]