Skip to content

Instantly share code, notes, and snippets.

@linhai86
Last active November 8, 2017 00:01
Show Gist options
  • Save linhai86/265e7a13947feb4e492b18d8828bd962 to your computer and use it in GitHub Desktop.
Save linhai86/265e7a13947feb4e492b18d8828bd962 to your computer and use it in GitHub Desktop.

Introduction

Lifecycles consist of phases, which can invoke a set of configured goals provided by certain plugins.

built-in build lifecycles:

  • default: handles your project deployment.
  • clean: handles project cleaning.
  • site: handles the creation of your project's site documentation.

default lifecycle comprises of the following main 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.
  • verify - run any checks on results of integration tests to ensure quality criteria are met.
  • install - install the package into the local repository, for use as a dependency in other projects locally.
  • deploy - done in the build environment, copies the final package to the remote repository for sharing with other developers and projects.

Usage

Create a Project

mvn -B archetype:generate \
    -DarchetypeArtifactId=maven-archetype-quickstart \
    -DarchetypeVersion=1.1 \
    -DarchetypeGroupId=org.apache.maven.archetypes \
    -DgroupId=com.mycompany.app \
    -DartifactId=my-app

Build the Project

mvn clean package

java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment