Chapter 6. Writing Maven Plug-ins
You have seen that Maven is constructed from a series of plug-ins, and now it's time to build your own. You may want to do this for a few reasons:
- Modularity
Your project's maven.xml file is getting too big and you wish to streamline it.
- Reusability
You want to reuse the same build logic in several Maven projects.
Writing a Simple JAR Execution Plug-in
In this lab you'll write a plug-in which can run an executable JAR. This is a simple plug-in that should get you started with the basics of plug-in writing.
How do I do that?
The first thing to know is that a Maven plug-in is just another Maven project; any plug-in project will have the same structure as a normal Maven project: a project.xml file, a project.properties file, documentation in an xdocs/ directory, etc. The only difference with a standard Maven project is that the project.xml file should not reference elements defined in a parent Project Object Model (POM). This is because the parent POM is not included when the plug-in is deployed and the referenced elements won't be found at execution time. Of course this doesn't matter if the reference elements are not used by the plug-in at runtime.
In addition to these standard Maven files, a plug-in project has two specific files, as shown in Figure 6-1:
Note
Minimize references to parent POMs in a plug-in's project.xml file.
- plugin.jelly
This file defines a plug-in's goals, and it is where you will put all the plug-in logic in the form of Jelly script. This ...
Get Maven: A Developer's Notebook 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.