开发者

In a Maven multi-modules project, is it possible to apply the assembly plug-in in a recursive manner?

I have a multi-module Maven project, and I would like to assemble together artifacts crea开发者_运维问答ted by running the assembly plugin on individual modules. Is this possible?


Yes it is possible to do so using the project dependencies which can read in detail on the documentation of the Maven Assembly Plugin.


I think I have found the answer to my own problem by running the assembly plugin during the package phase for each sub-module. This guarantees that when I run the assembly on the top level project, all sub-modules would have been assembled.

The plugin configuration in my top level POM looks like:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.quantel</groupId>
    <artifactId>project-folders-modules</artifactId>
    <version>1.0</version>
    <packaging>pom</packaging>
    <description>Collection of modules for project folders. </description>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <modules>
        <module>db-controller</module>
    </modules>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <ignoreDirFormatExtensions>true</ignoreDirFormatExtensions>
                    <descriptors>
                        <descriptor>src/main/assembly/assembly.xml</descriptor>
                    </descriptors>
                </configuration>
                <executions>
                    <execution>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                    </execution>
                </executions>

            </plugin>
        </plugins>
    </build>
</project>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜