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. validate | 5. integration-test |
2. compile | 6. verify |
3. test | 7. install |
4. package | 8. 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="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.javacodegeeks</groupId> <artifactId>SampleExample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>jar</packaging> </project>
- if we set
packaging = war
, Maven will package our project into an executable".war"
file:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.javacodegeeks</groupId> <artifactId>SampleExample</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> </project>
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.