The Maven Assembly plugin is a plugin you can use to create arbitrary distributions for your applications. You can use the Maven Assembly plugin to assemble the output of your project in any format you desire by defining a custom assembly descriptor.
we’re going to use the predefined
Once you’ve added this configuration, you can build the assembly by running the
While it is certainly valid to execute a plugin goal directly from the command-line as we just demonstrated, it is more consistent with the design of Maven to configure the Assembly plugin to execute the
The following plugin configuration configures the Maven Assembly plugin to execute the
we’re going to use the predefined
jar-with-dependencies
format. To configure the Maven Assembly Plugin, we need to add the following plugin configuration to our existing build configuration in the pom.xml.<build> <plugins> <plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> </plugin> </plugins> </build>
Once you’ve added this configuration, you can build the assembly by running the
assembly:assembly
goal. In the following screen listing, the assembly:assembly
goal is executed after the Maven build reaches the install
lifecycle phase:While it is certainly valid to execute a plugin goal directly from the command-line as we just demonstrated, it is more consistent with the design of Maven to configure the Assembly plugin to execute the
assembly:assembly
goal during a phase in the Maven lifecycle.The following plugin configuration configures the Maven Assembly plugin to execute the
attached
goal during the package
phase of the Maven default build lifecycle. The attached
goal does the same thing as the assembly
goal. To bind to assembly:attached
goal to thepackage
phase we use the executions element under plugin in the build section of the project’s POM.<plugin> <artifactId>maven-assembly-plugin</artifactId> <configuration> <descriptorRefs> <descriptorRef>jar-with-dependencies</descriptorRef> </descriptorRefs> </configuration> <executions> <execution> <id>simple-command</id> <phase>package</phase> <goals> <goal>attached</goal> </goals> </execution> </executions> </plugin>Once you have this configuration in your POM, all you need to do to generate the assembly is run
mvn package
. The execution configuration will make sure that the assembly:attached
goal is executed when the Maven lifecycle transitions to the package
phase of the lifecycle. The assembly will also be created if you run mvn install
as the package phase precedes the install phase in the default Maven lifecycle.
No comments:
Post a Comment