Plugin Descriptor
A Maven plugin contains a road map for Maven that tells Maven about the various Mojos and plugin configurations. This plugin descriptor is present in the plugin JAR file in META-INF/maven/plugin.xml. When Maven loads a plugin, it reads this XML file, and instantiates and configures plugin objects to make the Mojos contained in a plugin available to Maven.
When you are writing custom Maven plugins, you will almost never
need to think about writing a plugin descriptor. In Chapter 10, the lifecycle goals bound to the
maven-
plugin
packaging type show
that the plugin:descriptor
goal is bound to the
generate-resources
phase. This goal generates a
plugin descriptor off the annotations present in a pluginâs source
code. Later in this chapter, you will see how Mojos are annotated, and
you will also see how the values in these annotations end up in the
META-INF/maven/plugin.xml
file.
Example 17-1 shows a plugin descriptor for the Maven Zip plugin. This plugin is a contrived plugin that simply zips up the output directory and produces an archive. Normally, you wouldnât need to write a custom plugin to create an archive from Maven; you could simply use the Maven Assembly plugin that is capable of producing a distribution archive in multiple formats. Read through the plugin descriptor in this example to get an idea of the content it contains.
Example 17-1. Plugin descriptor
<plugin> <description></description> <groupId>com.training.plugins</groupId> <artifactId>maven-zip-plugin</artifactId> ...
Get Maven: The Definitive Guide now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.