00 - MAVEN Table of Contents

1. Introduction

            1.2 Description           

            1.3 Maven vs Ant

            1.4 Maven 3 vs Maven 2.x

2. Installation

            2.1 Downloading Maven

            2.2 Installing Maven

                        2.2.1 Installing Maven on Mac OSX

                        2.2.2 Installing Maven on Microsoft Windows

                        2.2.3 Installing Maven on  Linux

            2.3 Create new project with Maven

            2.4 Testing a Maven Installation

            2.5 Uninstalling Maven

           2.6 Maven properties

                        2.6.1 Maven settings

                        2.6.2 Environment setup

                        2.6.3 Project properties

                        2.6.4 System properties

                        2.6.5 Resource filtering

            2.7 Maven configuration

                        2.7.1 Plugins Configuration

3. The Project Object Model - POM

            3.1 Description

            3.2 Sample file
            3.3 POM Syntax

            3.4 Standard directory structure

            3.5 Parent POM

            3.6 Dependencies

                        3.6.1 External dependencies

                        3.6.2 Snapshot dependencies

            3.7 Exclusions

            3.8 Aggregation

            3.9 Profiles

            3.10 Best practices         

4. Maven Repositories

            4.1 Types of repositories

                                    4.1.1 Local repository

                                                4.1.1.1 Setting the local repository

                                    4.1.2 Central repository

                                                   4.1.2.1 Mirrors

                                    4.1.3 Remote repository

            4.2 Distributed development

5. Running Maven

            5.1 Run from Command Line

            5.2 Run from Eclipse

            5.3 Running in Offline Mode

            5.4 Encrypting Passwords in settings.xml     

6. Automatization techniques

            6.1 Build

                        6.1.1 Build life cycles

                                     6.1.1.2 Clean

                                     6.1.1.3 Default

                                                6.1.1.3.1 Skip tests

                                    6.1.1.4 Site     

                        6.2 Build phases

                                    6.2.1 Validate

                                    6.2.2 Compile

                                    6.2.3 Test

                                    6.2.4 Package

                                    6.2.5 Install

                                    6.2.6 Deploy

                        6.3 Build goals

            6.2 Build profiles

            6.3 Project modularization

            6.4 Dependency management

                         6.4.1 Transitive dependencies

                         6.4.2 Dependency scope

            6.5 Quality assurance

            6.6 Test Driven Development

            6.7 Acceptance testing automation

            6.8 Deployment automation

                        6.8.1 Deploy web application to Tomcat

                        6.8.2 Redeploy web application toTomcat

            6.9 Reports generating

            6.10 Documentation

7. Maven assemblies ( jar, war, ejb, ear)

            7.1 Introduction

            7.2 Build assemblies

8. Maven plugins

            8.1 Plugin Types

                        8.2 Archetype plugin  

                        8.3 Maven release plugin

                        8.4 Custom Maven plugins

                                    8.4.1 Writing plugins

                                    8.4.2 Documenting plugins

                                    8.4.3 Mojo

9. IDE integration

            9.1 Eclipse integration

                        9.1.1 Create Maven project

                        9.1.2 Import Maven project

                        9.1.3 Update Maven project

                        9.1.4 Link project to settings.xml

            9.2 Netbeans integration

            9.3 IntellijIdea integration

10. Useful tips

11. Interview questions

Like us on Facebook