How to build project with Maven example

In this tutorial, we will show you an easy way to build your project, using Apache Maven. In this example, we use the following tools on a Windows 7 platform:

  • Apache Maven 3.1.1
  • JDK 1.7

First of all, we must understand how Maven builds and deploys a project. Each Maven project undergoes a specific build lifecycle. The default lifecycle has the following build phases:

1. validate5. integration-test
2. compile6. verify
3. test7. install
4. package8. deploy

For more information, please reffer to the official Maven introduction to the build lifecycle.

In order to build our Maven project, we must first navigate to its folder, using the terminal (Linux or Mac) or the command prompt (Windows). Then, we must issue the following command:

mvn package

This command is responsible for executing Maven’s package phase. Maven executes each build phase sequentially thus, before the package phase, Maven will execute the validate, compile and test phases respectively.

1. Execution Example

When we execute the command

mvn package

Maven compiles our source code, runs all specified unit tests and creates the final executable file, as specified by the packaging element, inside our pom.xml file. For example:

  • if we set packaging = jar, Maven will package our project into an executable ".jar" file:
<project xmlns="" xmlns:xsi="" xsi:schemaLocation="">

  • if we set packaging = war, Maven will package our project into an executable ".war" file:
<project xmlns="" xmlns:xsi="" xsi:schemaLocation="">


Every created file is placed inside the target folder of our project. When no packaging is declared, Maven assumes the artifact is the default jar. The current core packaging values are:

  • pom
  • jar
  • maven-plugin
  • ejb
  • war
  • ear
  • rar
  • par

This was a tutorial on how to build a project, using Apache Maven.

Sotirios-Efstathios Maneas

Sotirios-Efstathios (Stathis) Maneas is a PhD student at the Department of Computer Science at the University of Toronto. His main interests include distributed systems, storage systems, file systems, and operating systems.
Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
Back to top button