Custom Maven Assembly Descriptors

From NovaOrdis Knowledge Base
Revision as of 18:59, 7 November 2016 by Ovidiu (talk | contribs) (→‎Example)
Jump to navigation Jump to search

External

Internal

Overview

Aside from pre-defined assembly descriptors, Maven allows creation of custom assembly descriptors. Custom assembly descriptors are conventionally placed under src/assembly of the module that executes the plugin.

Example

This is an example of a custom assembly descriptor, used to build a complex release artifact for a multi-module project:

https://github.com/NovaOrdis/events/blob/master/release/src/assembly/release.xml


Custom Maven Assembly Descriptor Example

Elements

Assembly ID

The assembly ID is specified as the value of the <id> element in the assembly descriptor. The assembly ID will become the assembly artifact classifier, present between the version and the extension. The artifact will be named <project-name>-<assemblyId>.<ext>. If I just want it to be <project-name>.<ext> (or <final-name>.<ext>), do not use an <id>...</id> declaration in the assembly descriptor.