An introduction to Apache Maven

Views:
 
     
 

Presentation Description

A short introduction to Apache Maven, what is it and how is it used for Java based builds. How does it work and what other tools are used ?

Comments

Presentation Transcript

Apache Maven:

Apache Maven What is it ? How does it work ? Why use it ? Structure Usage Examples www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – What is it ?:

Apache Maven – What is it ? A build automation tool Mainly for Java projects Uses conventions for build structure / procedure Licensed by Apache Developed via Jakarta project Stores libraries and plugins in a central repository www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – How does it work ?:

Apache Maven – How does it work ? Build controlled via pom.xml project file POM = Project Object Model Uses standard build order, directories, plugins Identifies dependencies in the pom.xml One POM can call child POM's It makes the build easier Provides uniformity www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – Why use it ?:

Apache Maven – Why use it ? Remove complexity from the build process Use a uniform process Make the build repeatable Make the build consistent with other projects Provides a controlled release process Manages depedencies www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – Structure:

Apache Maven – Structure Using Maven 0.9 as an example the structure of the Maven directories www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – Usage:

Apache Maven – Usage In terms of usage most estimates seem to agree Maven / Ant / Eclipse are the most used www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – Example:

Apache Maven – Example Taking the build of hadoop-2.0.6-alpha as an example A parent pom.xml calls module hadoop-project <modules> <module> hadoop-project </module> <module>hadoop-project-dist</module> <module>hadoop-assemblies</module> Identifies plugins <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId> maven-clover2-plugin </artifactId> <version> 3.0.5 </version> </plugin> www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Apache Maven – Example:

Apache Maven – Example Taking the build of hadoop-2.0.6-alpha as an example A child pom.xml – defines properties <properties> <failIfNoTests>false</failIfNoTests> <maven.test.redirectTestOutputToFile>true</maven.test.redirectTestOutputToFile> Identifies dependencies <dependency> <groupId>org.mortbay.jetty</groupId> <artifactId> jetty-util </artifactId> <version> 6.1.26 </version> </dependency> Defines profiles Defines plugins Defines the Build www.semtech-solutions.co.nz info@semtech-solutions.co.nz

Contact Us:

Contact Us Feel free to contact us at www.semtech-solutions.co.nz info@semtech-solutions.co.nz We offer IT project consultancy We are happy to hear about your problems You can just pay for those hours that you need To solve your problems

authorStream Live Help