- Leren door doen
- Trainers met praktijkervaring
- Klassikale trainingen
- Gedetailleerd cursusmateriaal
- Duidelijke inhoudsbeschrijving
- Maatwerk inhoud mogelijk
- Trainingen die doorgaan
- Kleine groepen
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.
In de cursus Maven Introductie leren de deelnemers de vaardigheden en kennis die nodig is om Maven te gebruiken als een geautomatiseerd build en dependency management tool.
Eerst wordt een overzicht gegeven 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 automatische 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. Aan een aantal archetypes wordt aandacht besteed evenals aan de rol van Maven goals en plugins.
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.
Tenslotte wordt aandacht besteed aan de rol van Maven bij het uitvoeren van tests, aan continuous integration en release management met Bamboo.
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 |
Al onze cursussen zijn klassikale cursussen waarbij de cursisten aan de hand van een ervaren trainer met diepgaande materie kennis door de stof worden geleid. Theorie wordt steeds afgewisseld met oefeningen.
We doen ook maatwerk en passen dan de cursusinhoud aan op uw wensen. Op verzoek gaan we ook in op uw praktijkcases.
De cursustijden zijn in pricipe van 9.30 tot 16.30. Maar we zijn hierin flexibel. Soms moeten mensen namelijk kinderen naar de opvang brengen of halen en komen andere tijden hun beter uit. In goed overleg kunnen we dan andere cursustijden afspreken.
Wij zorgen voor de computers waarop de cursus gehouden kan worden. Op deze computer is de voor de cursus benodigde software al geinstalleerd. U hoeft geen laptop mee te nemen om aan de cursus te kunnen deelnemen. Als u liever op uw eigen laptop werkt kunt u hem desgewenst meenemen. De benodigde software wordt dan aan het begin van de cursus geinstalleerd.
Onze cursussen worden over het algemeen gegeven met Open Source software zoals Eclipse, IntelliJ, Tomcat, Pycharm, Anaconda en Netbeans. Het digitale cursusmateriaal krijgt u na de cursus mee naar huis.
De cursus is inclusief lunch die we in een restaurantje op loopafstand van het cursuslokaal gebruiken.
De cursussen worden op diverse plaatsen in het land gepland. Een cursus gaat op een locatie door als er zich minimaal 3 mensen voor die locatie inschrijven. Als er inschrijvingen voor verschillende locaties zijn gaat de cursus door op onze hoofdlocatie is Houten net onder Utrecht. Een cursus op onze hoofdlocatie gaat ook door bij 2 inschrijvingen en regelmatig ook bij 1 inschrijving. Overigens doen we ook cursussen op de locatie van de klant als men daar prijs op stelt.
De intellectuele eigendomsrechten van de gepubliceerde cursus inhoud, ook wel aangeduid als infosheet, behoren toe aan SpiralTrain. Het is niet toegestaan de cursusinformatie, de infosheet, te publiceren in schiftelijke dan wel digitale vorm zonder de uitdrukkelijke toestemming van SpiralTrain. Onder de cursus inhoud dient te worden verstaan de beschrijving van de cursus inhoud in zinnen alsmede de indeling van de cursus in modules en onderwerpen in de modules.