- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
In de cursus Maven Development leren de deelnemers de vaardigheden en kennis die nodig is om Maven te gebruiken als een geautomatiseerd build en dependency management tool.
De cursus gaat van start met een overzicht van de problemen bij project en dependency management, de werking van Maven en rol van Maven repositories. Hierbij komt aan de orde hoe Maven zich verhoudt tot het build tool Ant.
Vervolgens wordt de directory structuur van Maven projecten en de standaard life cycle besproken. Maven projecten kunnen gecreëerd worden aan de hand van voorgedefinieerde archetypes waarbij vanaf de start al een bepaalde project structuur zit ingebakken. Ook wordt de rol van Maven goals en plugins besproken.
Vervolgens komt het Project Object Model (POM) met pom.xml aan de orde. De betekenis van de voornaamste entries daarin zoals Group, Artifact en Version, komen aan bod en ook wordt ingegaan op een complexere structuur met meerdere pom files en pom inheritance.
Onderdeel van het programma van de cursus Maven Development zijn ook de Maven Archetypes. Aan een aantal veel gebruikte archetypes wordt aandacht besteed. Ook wordt besproken hoe je met het Maven Archetype plugin zelf archetypes kunt maken die voorzien zijn van een prototype POM en prototype files.
Voorts wordt ingegaan op Maven Repositories zoals de Maven Central repository, Enterprise Repositories, de Local Developer Repository en Remote Repositories. De volgorde waarin Maven de repositories doorzoekt wordt besproken en ook Plugin Repositories komen aan bod.
Tenslotte wordt aandacht besteed aan de rol van Maven bij het uitvoeren van tests, aan continuous integration en aan release management met Bamboo, Team City of Jenkins.
De cursus Maven Development is bestemd voor developers die Maven willen gebruiken voor dependency management en voor het automatisch bouwen en deployen van projecten.
Om aan de cursus Maven Development te kunnen deelnemen is kennis van en ervaring met Java en XML vereist.
De theorie wordt besproken aan de hand van presentatie slides en wordt afgewisseld met oefeningen. Demo projecten in Maven dienen te verheldering van de behandelde concepten. De cursus gaat in op Maven versie 3. De cursustijden zijn van 9.30 tot 16.30.
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Maven Development.
Module 1 : Maven Intro |
Module 2 : Core Concepts |
Module 3 : Build Lifecycle |
Java Build Tools Intro Desired Features Ant + Ivy Build.xml Build File with Ivy Ivy Dependency Management Maven Build Lifecycle pom.xml Gradle Results Matrix Tools Comparison |
What is Maven? Why Maven? Convention over Configuration Maven Directory Structure Project Object Model Maven Project Coordinates POM Structure POM Sections Plugins Archetypes Catalog File Dependencies |
What is Build Lifecycle? Standard Lifecycles Key Lifecycle Phases Build Phases and Goals Clean Lifecycle Default or Built Lifecycle Default Lifecycle Phases Site Generation and Reporting Site Lifecycle Site Website Customizing the Lifecycle Package-specific Lifecycles |
Module 4 : Profiles |
Module 5 : Plugins and Goals |
Module 6 : Archetypes |
Environment variables User-defined properties Filtering Resources Build Profiles What is a Build Profile? Project Configuration with Profiles Profile Activation Explicit Profile Activation Activation via Maven Settings Activation via Environment Variables Activation via Operating System Activation via Files |
What are Maven Plugins? Plugin Types Goals and Plugins Key Plugin Concepts Maven Antrun Plugin Maven Compiler Plugin Exec Maven Plugin Jetty Maven Plugin Eclipse Maven Integration Maven Checkstyle Plugin Findbugs Maven Plugin Maven PMD Plugin |
What is an Archetype? Different Archetypes Archetype Generate Command Maven Archetype Archetype Maven Archetype WebApp Simple J2EE Project Maven Archetype Simple Site Creating Archetypes Maven Archetype Plugin Archetype Descriptor Prototype POM Prototype Files |
Module 7 : Repositories |
Module 8 : Dependency Management |
Module 9 : Build Automation |
What is a Maven Repository? Enterprise Repositories Local Repository Central Repository Repositories in Super POM Remote Repository Maven Search Sequence Plugin Repositories Repository Management Deploying to Nexus with Maven Performing a Staged Release |
What is Dependency Management? Searching Dependencies Transitive Dependencies Dependency Terminology Dependency Scope Optional Dependencies Version Ranges Project Versions Visualizing Dependencies Dependency Conflicts Excluding Transitive Dependencies |
Handling Rapid Changes What is a Snapshot? Snapshot Dependency Build Automation Using Snapshots Release Management The Maven Release Plugin Developer Release Workflow Integration with Source Control Continuous Integration Deployment Automation |