Maven Java build tool
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
mvn compilemvn testmvn packagemvn clean install
mvn verifymvn -DskipTests package
mvn dependency:tree
./mvnw <args>
Concepts
- validate check POM
- compile main sources
- test unit tests
- package jar / war
- verify integration tests
- install to ~/.m2
- deploy to remote repo
Build
mvn compilemvn testmvn packagemvn verifymvn installmvn cleanmvn clean install
mvn deploymvn validatemvn test-compile
mvn clean dependency:copy-dependencies package
Options
-DskipTests-Dmaven.test.skip=true
-o / --offline-q / --quiet-X / --debug-e / --errors-U / --update-snapshots
-T <n>-T 1C-B / --batch-mode
-D<key>=<value>
-ntpMulti-module
mvn -pl <module>
mvn -pl <module> -am
mvn -pl <module> -amd
mvn -pl '!<module>'
mvn -rf :<module>
mvn versions:set -DnewVersion=<v>
Dependencies
mvn dependency:tree
mvn dependency:tree -Dincludes=<g>:<a>
mvn dependency:analyze
mvn dependency:copy-dependencies
mvn dependency:go-offline
mvn versions:display-dependency-updates
Inspect and debug
mvn help:effective-pom
mvn help:effective-settings
mvn help:active-profiles
mvn help:evaluate -Dexpression=<expr> -q
-DforceStdout
mvn -vmvn -Dtest=<Class>#<method>
mvn -Dtest='<Class>*'
mvn -Dmaven.surefire.debug test
Profiles and properties
mvn -P<id>
Wrapper and project
mvn wrapper:wrapper
./mvnw <args>
mvn archetype:generate
| Path | Holds |
|---|---|
pom.xml |
project model |
~/.m2/settings.xml |
user settings, mirrors, servers |
~/.m2/repository |
local artifact cache |
target/ |
build output |
.mvn/ |
wrapper and jvm.config |
Recipes
mvn -B -ntp -T 1C clean verify
mvn -pl services/api -am clean install -DskipTests
mvn dependency:tree -Dverbose \ -Dincludes=com.google.guavamvn help:effective-pom | less
mvn -pl app -Dtest=UserServiceTest#login \ -Dsurefire.failIfNoSpecifiedTests=false test



