About
The assembly plugin will build assembly.
An “assembly” is a group of files, directories, and dependencies that are assembled into an archive format and distributed.
Articles Related
Pom.xml
The whole plugin is made through Descriptor Files.
Descriptor Files
Custom
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptors>
<descriptor>src/main/assembly/myDescriptor.xml</descriptor>
</descriptors>
</configuration>
[...]
</project>
Pre-defined
There is 4 Pre-defined Descriptor Files:
- bin: to create a binary distribution archive of your project.
- jar-with-dependencies: to create a JAR which contains the binary output of your project See shade
- src: to create source archives for your project
- project: produce an assembly containing the entire project, minus any build output that lands in the target directory.
Example in the pom.xml with the jar-with-dependencies (See the descriptorRefs element)
<project>
[...]
<build>
[...]
<plugins>
<plugin>
<!-- NOTE: We don't need a groupId specification because the group is
org.apache.maven.plugins ...which is assumed by default.
-->
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
[...]
</project>