Thursday, July 3, 2014

Maven Life Cycle ...basic explanation:

      I've looked for a while to reach a simple overview of the project management and comprehension tool Maven and especially the life cycle process.

Firts of all some history :
      Maven was originally designed to simplify building processes in Jakarta Turbine project. There were several projects and each project contained slightly different ANT build files.
Apache group then developed Maven which can build multiple projects together, publish projects information, deploy projects, share JARs across several projects and help in collaboration of teams.

The point :

As we talk about  Maven Life Cycle, so here is basic definition of it :
       Each of these build lifecycles are defined by a different list of build phases, wherein a build phase represents a stage in the lifecycle.
For example, the default lifecycle has the following build 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.
These build phases (plus the other build phases not shown here) and executed sequentially to complete the default lifecycle. Given the build phases above, this means that when the default lifecycle is used, Maven will first validate the project, then will try to compile the sources, run those against the tests, packages the binaries (i.e jar), run integration tests against that package, verifies the packaging, install the verifed package to the local repository, then depoy the installed package in a specified environment.
To do all those, you only need to call the last build phase to be executed, in this case, deploy :

--> mvn deploy

.....I think is a simple way to undertand the Maven lifecycle concept.

References : Google...yes always it's Google that bring us the informations...

No comments:

Post a Comment