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 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access