Best Practices
The Assembly plugin provides enough flexibility to solve many problems in a number of different ways. If your project has a unique requirement, thereâs a good chance that you can use the methods documented in this chapter to achieve almost any assembly structure. This section of the chapter details some common best practices that, if adhered to, will make your experiences with the Assembly plugin more productive and less painful.
Standard, Reusable Assembly Descriptors
Up till now, weâve been talking mainly about one-off solutions for building a particular type of assembly. But what do you do if you have dozens of projects that all need a particular type of assembly? In short, how can we reuse the effort weâve invested to get our assemblies just the way we like them across more than one project without copying and pasting our assembly descriptor?
The simplest answer is to create a standardized, versioned
artifact out of the assembly descriptor, and deploy it. Once thatâs
done, you can specify that the Assembly plugin section of your
projectâs POM include the
assembly-descriptor
artifact as a
plugin-level
dependency, which will prompt Maven
to resolve and include that artifact in the pluginâs classpath. At that point, you
can use the assembly descriptor via the descriptorRefs
configuration section
in the Assembly plugin declaration. To illustrate, consider this
example assembly descriptor:
<assembly> <id>war-fragment</id> <formats> <format>zip</format> </formats> ...
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.