As we’ve seen in this chapter, the Maven Assembly plugin offers quite a bit of potential for creating custom archive formats. While the details of these assembly archives can be complex, they certainly don’t have to be in all cases - as we saw with built-in assembly descriptors. Even if your aim is to include your project’s dependencies and selected project files in some unique, archived directory structure, writing a custom assembly descriptor doesn’t have to be an arduous task.
Assemblies are useful for a wide array of applications, but are most
commonly used as application distributions of various sorts. And, while
there are many different ways to use the Assembly plugin, using
standardized assembly-descriptor artifacts and avoiding
moduleSets
when creating distributions containing
binaries are two sure ways to avoid problems.