Plugin Developers Centre – Maven Apache/ Maven/ Plugin Developers Centre | Last Published: 2026-07-18 | Get Sources Downloads Welcome License About Maven What is Maven? Installation Downloads Use Configure Release Notes Security Reports Documentation Maven Plugins Maven Extensions Maven Tools Maven Daemon Maven Upgrade Tool Maven Wrapper Index (category) User Manual Maven Repositories Plugin Development Introduction Your First Mojo Your First Report Mojo Writing Plugin Documentation Testing Plugins Mojo API Maven 3.1.x logging Common Bugs and Pitfalls Maven Lifecycle Extensions Plexus Javadoc to Plexus Annotations Using JSR-330 Maven 4 Using Maven Dependency Injection Maven Null Annotations Contribute to Maven Books and Resources Community Community Overview Project Roles How to Contribute Getting Help Issue Management Getting Maven Source The Maven Team Project Documentation Project Information Maven Projects Maven Archetypes Extensions Parent POMs Plugins Skins Components Archetype Artifact Resolver Doxia Indexer JXR Plugin Testing Plugin Tools Resource Bundles SCM Shared Components Surefire Wagon ASF How Apache Works Foundation Data Privacy Sponsoring Apache Thanks Plugin Developers Centre This documentation centre is for those who are developing Maven plugins. This might be for your own build, or as an accompaniment to your third party tool. What is a Mojo? A mojo is a Maven plain Old Java Object. Each mojo is an executable goal in Maven, and a plugin is a distribution of one or more related mojos. Introduction to Plugin Development - Introduction to concepts Your First Mojo - Learn how to write your first plugin Your First Report Mojo - Learn how to write your first reporting plugin Writing Plugin Documentation - Learn how to write documentation for your plugin Testing your Plugin - How to write tests for your plugins TODO: creating and using custom packaging (like maven-archetype packaging) Common Bugs and Pitfalls - Overview of problematic coding patterns Reference Mojo API and Annotation Reference Maven Plugin Tools and annotations Maven API Reference Maven Class Loading Extensions Maven 3 lifecycle extensions How to upgrade from Plexus javadoc tags to Plexus Java annotations? Using JSR-330 (instead of Plexus Java annotations) © 2002–2026 The Apache Software Foundation