Introduction to Maven 2
Basics Convention over Configuration Declarative project management DRY
Build Lifecycles Default Site Clean
Dependency Management Declarative Transitive 3 qualifiers per dependency GroupId AritfactId Version Coping with Sun jars
Repositories Place where all jars are stored Local Network / proxy Central
Archetypes Project templates Available for various project types DEMO – create sample JSF app mvn archetype:create -DarchetypeGroupId=org.apache.myfaces.maven \ -DarchetypeArtifactId=maven-archetype-myfaces \ -DarchetypeVersion=1.0-SNAPSHOT \ -DgroupId=myAppId \ -DartifactId=testApp
Reports Monitor code health Metrics Code Coverage View codebase as a webpage Track changes
Mavenizing your project Modify build section: <build> <sourceDirectory>srcDir</sourceDirectory> <testSourceDirectory>testDir </testSourceDirectory> … </build>
Multi – module projects Use <dependencyManagement> to make your life easier mvn install needed w/ inherited test classes Let’s look at Terracotta.org’s codebase
Resources http://maven.apache.org http://del.icio.us/jimbethancourt/maven

Maven Introduction