Maven Development
Lesgeld
Cursus Maven Development
In de cursus Maven Development leer je alles over het gebruik van Maven voor project- en dependency management. Deze cursus biedt een diepgaand inzicht in de werking van Maven en de rol van Maven repositories. Je ontdekt hoe Maven zich verhoudt tot het bekende build tool Ant, wat cruciaal is voor ontwikkelaars die efficiënt willen werken.
Maven Projects
Vervolgens wordt de directory structuur van Maven projecten en de standaard life cycle besp
Cursus Maven Development
In de cursus Maven Development leer je alles over het gebruik van Maven voor project- en dependency management. Deze cursus biedt een diepgaand inzicht in de werking van Maven en de rol van Maven repositories. Je ontdekt hoe Maven zich verhoudt tot het bekende build tool Ant, wat cruciaal is voor ontwikkelaars die efficiënt willen werken.
Maven Projects
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 projectstructuur ingebakken zit. Ook wordt de rol van Maven goals en plugins besproken om je workflow te optimaliseren.
Project Object Model
Een belangrijk onderdeel van de cursus Maven Development is het Project Object Model (POM), dat wordt gedefinieerd in pom.xml. We behandelen de betekenis van de voornaamste entries zoals Group, Artifact en Version. Daarnaast gaan we dieper in op complexere structuren met meerdere pom-bestanden en pom inheritance.
Archetypes
Onderdeel van het programma van de cursus Maven Development zijn ook de Maven Archetypes. Aan een aantal veelgebruikte archetypes wordt aandacht besteed. Tevens bespreken we hoe je met de Maven Archetype plugin zelf archetypes kunt maken die voorzien zijn van een prototype POM en prototype files.
Repositories
Voorts wordt ingegaan op Maven Repositories, met een focus op de Maven Central repository, Enterprise Repositories, de Local Developer Repository en Remote Repositories. We bespreken de volgorde waarin Maven de repositories doorzoekt en aandacht voor Plugin Repositories komt ook aan bod.
Build Automation
Tenslotte besteden we aandacht aan de rol van Maven bij het uitvoeren van tests, continuous integration en release management met tools zoals Bamboo, Team City of Jenkins. Deze aspecten zijn essentieel voor moderne softwareontwikkeling en verbeteren de efficiëntie van teams.
Voor meer informatie over het gebruik van Maven en gerelateerde tools, bezoek de officiële Maven website. Daarnaast kan de cursus Test Driven Development met JUnit je helpen bij het integreren van testprocessen in je ontwikkeltraject.
Doelgroep Cursus Maven Development
De cursus Maven Development is bestemd voor developers die Maven willen gebruiken voor dependency management en voor het automatisch bouwen en deployen van projecten.
Voorkennis Maven
Om aan de cursus Maven Development te kunnen deelnemen is kennis van en ervaring met Java en XML vereist.
Uitvoering Training Maven Development
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.
Certificering Maven
De deelnemers krijgen na het goed doorlopen van de cursus een officieel certificaat Maven Development.
Modules
Module 1 : Maven Intro
- 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
Module 2 : Core Concepts
- 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
Module 3 : Build Lifecycle
- 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
- 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
Module 5 : Plugins and Goals
- 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
Module 6 : Archetypes
- 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
- 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
Module 8 : Dependency Management
- 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
Module 9 : Build Automation
- 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