LinuxCommandLibrary

mvn

mvn

TLDR

Compile a project

$ mvn compile
copy


Compile and package the compiled code in its distributable format, such as a jar
$ mvn package
copy


Compile and package, skipping unit tests
$ mvn package -DskipTests
copy


Install the built package in local maven repository. (This will invoke the compile and package commands too)
$ mvn install
copy


Delete build artifacts from the target directory
$ mvn clean
copy


Do a clean and then invoke the package phase
$ mvn clean package
copy


Clean and then package the code with a given build profile
$ mvn clean -P [profile] package
copy


Run a class with a main method
$ mvn exec:java -Dexec.mainClass="[com.example.Main]" -Dexec.args="[argument1 argument2 ...]"
copy

DESCRIPTION

usage: mvn [options] [<goal(s)>] [<phase(s)>]

OPTIONS

-am,--also-make

If project list is specified, also build projects required by the list

-amd,--also-make-dependents

If project list is specified, also build projects that depend on projects on the list

-B,--batch-mode

Run in non-interactive (batch) mode (disables output color)

-b,--builder <arg>

The id of the build strategy to use

-C,--strict-checksums

Fail the build if checksums don't match

-c,--lax-checksums

Warn if checksums don't match

-cpu,--check-plugin-updates

Ineffective, only kept for backward compatibility

-D,--define <arg>

Define a system property

-e,--errors

Produce execution error messages

-emp,--encrypt-master-password <arg>

Encrypt master security password

-ep,--encrypt-password <arg>

Encrypt server password

-f,--file <arg>

Force the use of an alternate POM file (or directory with pom.xml)

-fae,--fail-at-end

Only fail the build afterwards; allow all non-impacted builds to continue

-ff,--fail-fast

Stop at first failure in reactorized builds

-fn,--fail-never

NEVER fail the build, regardless of project result

-gs,--global-settings <arg>

Alternate path for the global settings file

-gt,--global-toolchains <arg>

Alternate path for the global toolchains file

-h,--help

Display help information

-l,--log-file <arg>

Log file where all build output will go (disables output color)

-llr,--legacy-local-repository

Use Maven 2 Legacy Local Repository behaviour, ie no use of _remote.repositories. Can also be activated by using -Dmaven.legacyLocalRepo=true

-N,--non-recursive

Do not recurse into sub-projects

-npr,--no-plugin-registry

Ineffective, only kept for backward compatibility

-npu,--no-plugin-updates

Ineffective, only kept for backward compatibility

-nsu,--no-snapshot-updates

Suppress SNAPSHOT updates

-o,--offline

Work offline

-P,--activate-profiles <arg>

Comma-delimited list of profiles to activate

-pl,--projects <arg>

Comma-delimited list of specified reactor projects to build instead of all projects. A project can be specified by [groupId]:artifactId or by its relative path

-q,--quiet

Quiet output - only show errors

-rf,--resume-from <arg>

Resume reactor from specified project

-s,--settings <arg>

Alternate path for the user settings file

-t,--toolchains <arg>

Alternate path for the user toolchains file

-T,--threads <arg>

Thread count, for instance 2.0C where C is core multiplied

-U,--update-snapshots

Forces a check for missing releases and updated snapshots on remote repositories

-up,--update-plugins

Ineffective, only kept for backward compatibility

-v,--version

Display version information

-V,--show-version

Display version information WITHOUT stopping build

-X,--debug

Produce execution debug output

Copied to clipboard