7/17/2014 - 4:18 PM


General Maven Use

mvn [<plugin>:]<goal>
  - General use

mvn archetype:generate -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false
  - Example project create
mvn test
  - Run unit tests specified by pom.xml (need unit dependancies in pom)
mvn sonar:sonar
  - Create sonar report based on pom in current directory
Maven 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.

Artifacts fully qualified name: <groupId>:<artifactId>:<version>


Maven inherits it's defaults from a super POM if not defined:
  developers and contributors
  plugin lists (including reports)
  plugin executions with matching ids
  plugin configuration

Can be used to specify parent to inherit from:
Else can specify modules un the app pom to have a cascade of build:
Variables are available in the form ${project.<name>} for example ${project.version}
  In the project file this get be references just using ${version}
Additional special variables:

Setup JavaDocs
Add to pom.xml:

Then run mvn javadoc:javadoc