Maven cheat-sheet

This page provides quick overview of maven and common commands used by developers in day to day life.

Maven quick Overview


Maven standardizes on having a common project layout which has been widely adopted and used. Below image shows a sample project layout.

Maven standard directory layout

Maven Standard project structure

Below section documents the conventions used for standard directory layout.

Maven project description

Maven lifecycle phases

Following are the most common lifecycle phases.

  • validate: validate the project is correct and all necessary information is available
  • compile: compile the source code of the project
  • test: test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
  • package: take the compiled code and package it in its distributable format, such as a JAR.
  • integration-test: process and deploy the package if necessary into an environment where integration tests can be run
  • verify: run any checks to verify the package is valid and meets quality criteria
  • install: install the package into the local repository, for use as a dependency in other projects locally
  • deploy: done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.

Common Maven Commands


Find version info

mvn --version

Create a project

mvn archetype:generate -DgroupId={packaging.path} -DartifactId={project-id} \
-DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

Convert a project to eclipse project

 mvn eclipse:eclipse -Dwtpversion=2.0

Build the project

-- create war/jar 
mvn clean package

-- Install the project
mvn clean install

How to run Unit tests

mvn test

-- Run a specific test
mvn -Dtest=TestApp1 test

Check dependency tree

mvn dependency:tree

That’s All!

References


# Reference
1 https://maven.apache.org/guides/getting-started/maven-in-five-minutes.html
2 https://maven.apache.org/guides/introduction/introduction-to-the-standard-directory-layout.html

Version History


Date Description
2015-08-22    Initial Version
2016-03-04    Added diagram