| Introduction |
What is Maven, Build Lifecycle, Maven vs Ant/Gradle |
✅ |
✅ |
❌ |
❌ |
| Installation & Setup |
Install Maven, Configure PATH, Settings.xml |
✅ |
✅ |
❌ |
❌ |
| Maven Project Basics |
POM.xml structure, GroupId, ArtifactId, Version (GAV) |
✅ |
✅ |
❌ |
❌ |
| Build Lifecycle |
Clean, Default, Site lifecycle phases |
✅ |
✅ |
❌ |
❌ |
| Dependencies |
Dependency scope, Transitive dependencies, Dependency management |
✅ |
✅ |
✅ |
❌ |
| Repositories |
Local repo, Remote repo, Central repo, Mirror settings |
✅ |
✅ |
✅ |
❌ |
| Plugins & Goals |
Maven Compiler plugin, Surefire plugin, Assembly plugin |
✅ |
✅ |
✅ |
❌ |
| Build Profiles |
Profile activation, Environment-based builds, Conditional builds |
❌ |
✅ |
✅ |
✅ |
| Multi-Module Projects |
Parent POM, Module inheritance, Aggregation |
❌ |
✅ |
✅ |
✅ |
| Maven Properties |
User-defined properties, Built-in properties, Property interpolation |
❌ |
✅ |
✅ |
✅ |
| Maven Archetypes |
Creating projects from archetypes, Custom archetypes |
✅ |
✅ |
✅ |
❌ |
| Maven Goals & Phases |
Custom goals, Binding plugins to phases |
✅ |
✅ |
✅ |
❌ |
| Testing with Maven |
JUnit/TestNG integration, Surefire plugin, Failsafe plugin |
✅ |
✅ |
✅ |
❌ |
| Maven & CI/CD |
Integrating with Jenkins, GitHub Actions, GitLab CI |
❌ |
✅ |
✅ |
✅ |
| Advanced Dependency Mgmt |
Dependency mediation, Exclusions, Dependency convergence |
❌ |
✅ |
✅ |
✅ |
| Maven Wrapper |
mvnw usage, Wrapper configuration for projects |
✅ |
✅ |
✅ |
❌ |
| Performance Optimization |
Parallel builds, Dependency caching, Offline builds |
❌ |
❌ |
✅ |
✅ |
| Custom Plugins |
Writing Maven plugins, Extending lifecycle |
❌ |
❌ |
✅ |
✅ |
| Maven in Enterprise |
Corporate repositories (Nexus/Artifactory), Governance |
❌ |
❌ |
✅ |
✅ |
| Maven Best Practices |
Versioning strategy, Dependency minimization, Reproducible builds |
❌ |
❌ |
✅ |
✅ |
| Troubleshooting & Debugging |
Maven debug mode (-X), Effective POM, Dependency tree (mvn dependency:tree) |
✅ |
✅ |
✅ |
✅ |