Apache Maven in 10 Slides
An Unofficial Outline
This is OpenTalkWare
http://www.opentalkware.org CC-BY-3.0
Maven...
• builds software
   • libraries,
   • applications,
   • distributions,
   • plugins
   • ...and Maven
Maven is...
• open source
   • developed at Apache
     • originated in Jakarta
     • influenced by house style
     • to reduce maintenance of component builds

   • widely used in open source
   • community driven
Maven is...
• declarative
   • POM describes project
   • User asks Maven to operate
   • Maven reads POM and runs
Maven is...
• extensible
   • highly extensible
   • plugins...
   • hooks...
   • lifecycle extensions...
   • ...almost everything —
   • about Maven, almost nothing is true in general
Maven is...
• comprehensive
  • lots of extensions
  • powerful
  • flexible
  • but Maven demands control
Maven values...
• reproducibility
   • minimal build variance
   • process automation
   • standard choreography
   • limits local adaption
Maven values...
• repositories
   • as caches
   • as resource locators
   • as promoting finely grained component models
   • as encouraging open source
Maven values...
• conventions
   • "You can have any..."
     • "... colour as long as it's black." — Ford
     • "... convention as long as you code it." — Maven

   • adoption is strongly recommended
   • battle tested
Maven POMs support...
• inheritance
   • but not mixins
   • (with predictable problems)
   • efficient maintainable readable POMs
   • remember all projects inherit
Maven POMs support...
• aggregation
   • master build for modules
   • master not always module parent
   • reporting sometimes tricky
   • dependencies sometimes tricky
Thanks
• To the Apache Maven project of the Apache Software
  Foundation
• Based on An Unofficial Outline: Apache Maven
  in 10 Slides by OpenTalkWare. Original source is available
  under CC-BY. UI based on S5 which is public domain. "Apache
  Maven" and "Maven" are marks of the Apache Software
  Foundation (ASF). This unofficial guide was created without the
  permission of the ASF.
• OpenTalkWare — http://www.opentalkware.org

Apache Maven In 10 Slides

  • 1.
    Apache Maven in10 Slides An Unofficial Outline This is OpenTalkWare http://www.opentalkware.org CC-BY-3.0
  • 2.
    Maven... • builds software • libraries, • applications, • distributions, • plugins • ...and Maven
  • 3.
    Maven is... • opensource • developed at Apache • originated in Jakarta • influenced by house style • to reduce maintenance of component builds • widely used in open source • community driven
  • 4.
    Maven is... • declarative • POM describes project • User asks Maven to operate • Maven reads POM and runs
  • 5.
    Maven is... • extensible • highly extensible • plugins... • hooks... • lifecycle extensions... • ...almost everything — • about Maven, almost nothing is true in general
  • 6.
    Maven is... • comprehensive • lots of extensions • powerful • flexible • but Maven demands control
  • 7.
    Maven values... • reproducibility • minimal build variance • process automation • standard choreography • limits local adaption
  • 8.
    Maven values... • repositories • as caches • as resource locators • as promoting finely grained component models • as encouraging open source
  • 9.
    Maven values... • conventions • "You can have any..." • "... colour as long as it's black." — Ford • "... convention as long as you code it." — Maven • adoption is strongly recommended • battle tested
  • 10.
    Maven POMs support... •inheritance • but not mixins • (with predictable problems) • efficient maintainable readable POMs • remember all projects inherit
  • 11.
    Maven POMs support... •aggregation • master build for modules • master not always module parent • reporting sometimes tricky • dependencies sometimes tricky
  • 12.
    Thanks • To theApache Maven project of the Apache Software Foundation • Based on An Unofficial Outline: Apache Maven in 10 Slides by OpenTalkWare. Original source is available under CC-BY. UI based on S5 which is public domain. "Apache Maven" and "Maven" are marks of the Apache Software Foundation (ASF). This unofficial guide was created without the permission of the ASF. • OpenTalkWare — http://www.opentalkware.org