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:
Your project’s maven.xml file is getting too big and you wish to streamline it.
You want to reuse the same build logic in several Maven projects.
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.
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:
Minimize references to parent POMs in a plug-in’s project.xml file.
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 ...