Presents an overview of Apache Maven, a famous declarative build tool widely used in the Java ecosystem, focussing on philosophy, qualities and characteristics. To learn Maven, see www.sonatype.com/book/.
This is OpenTalkWare www.opentalkware.org cc-by-3.0 by Robert Burrell Donkin http://robertburrelldonkin.name
3. 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
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
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 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