Maven

1,728 views

Published on

Presentation on Maven which tells breifly about maven technology

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,728
On SlideShare
0
From Embeds
0
Number of Embeds
32
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Maven

  1. 1. MAVEN --By Vineela.M
  2. 2. AGENDA <ul><li>Introduction talk about Maven  What is Maven?  Evolution of Maven  What is all about Maven? </li></ul><ul><li>Maven features </li></ul><ul><li>Maven Commands </li></ul>
  3. 3. PROBLEM AREA <ul><li>Large software projects usually contain tens or even hundreds of projects/modules </li></ul><ul><li>Will become messy and incomprehensible if the projects don’t adhere to some common principles </li></ul><ul><li>Will be time-consuming to build all projects manually </li></ul>
  4. 4. SOLUTION <ul><li>Use a project management tool (like Maven) </li></ul><ul><li>Maven helps you with various aspects: </li></ul><ul><li>--Build process </li></ul><ul><li>-- Project structure </li></ul><ul><li>--Dependency management </li></ul><ul><li>--Access to information and documentation </li></ul>
  5. 5. EVOLUTION OF MAVEN <ul><li>It comes from the yeddish word mavi , means understands the requirements. </li></ul>
  6. 6. WHAT IS MAVEN? <ul><li>Its a build tool, SCM source code management </li></ul>
  7. 7. MAVEN FEATURES <ul><li>Programming Languages -- Java </li></ul><ul><li>Categories -- build-management </li></ul><ul><li>Mailing Lists -- http://maven.apache.org/mail-lists.html </li></ul><ul><li>Bug/Issue Tracker </li></ul><ul><li>-- http://jira.codehaus.org/browse/MNG </li></ul><ul><li>License -- http://www.apache.org/licenses/LICENSE-2.0.txt </li></ul><ul><li>Project Website -- http://maven.apache.org/ </li></ul><ul><li>PMC </li></ul><ul><li>-- Apache Maven </li></ul>
  8. 8. WHAT IS ALL ABOUT MAVEN? <ul><li>Maven is essentially a project management and comprehension tool and as such provides a way to help with managing: </li></ul><ul><li>Builds </li></ul><ul><li>Documentation </li></ul><ul><li>Reporting </li></ul><ul><li>Dependencies </li></ul><ul><li>SCMs </li></ul><ul><li>Releases </li></ul><ul><li>Distribution </li></ul>
  9. 9. THE PROJECT OBJECT MODEL (POM) – <ul><li>An XML file – is the heart of a Maven 2 project </li></ul><ul><li>It Contains project information and configuration details </li></ul><ul><li>used to build the project </li></ul><ul><li>– Project dependencies </li></ul><ul><li>– Commands (goals) that can be executed </li></ul><ul><li>– Plugins </li></ul><ul><li>– Metadata </li></ul>
  10. 10. POM – SIMPLE EXAMPLE
  11. 11. POM ARCHITECHTURE
  12. 12. POM AGGREGATION
  13. 13. BUILD LIFECYCLE AND PHASES <ul><li>The build lifecycle is the process of building and </li></ul><ul><li>distributing an artifact </li></ul><ul><li>• A phase is a step in the build lifecycle </li></ul><ul><li>• Most important default phases: </li></ul><ul><li>– Validate </li></ul><ul><li>– Compile </li></ul><ul><li>– Test </li></ul><ul><li>– Package </li></ul><ul><li>– Install </li></ul>
  14. 14. STANDARD DIRECTORY LAYOUT
  15. 15. DEPENDENCY MANAGEMENT
  16. 16. REPOSITORIES
  17. 17. USEFUL COMMANDS <ul><li>$ mvn package-- Compile and create JARs/WARs </li></ul><ul><li>• $ mvn install --Package + copy to local repo </li></ul><ul><li>• $ mvn clean --Delete target directory </li></ul><ul><li>• $ mvn test --Run unit tests </li></ul><ul><li>• $ mvn eclipse--eclipse Create Eclipse project files </li></ul><ul><li>• $ mvn idea --idea Create IDEA project files </li></ul><ul><li>• $ mvn jetty--run-war Run a WAR file in Jetty </li></ul><ul><li>• $ mvn site -- Generates project site </li></ul>
  18. 18. <ul><li>Thankyou ! </li></ul>

×