Maven - 使用Assembly插件将多个项目的依赖项打包到一个文件中

时间:2013-02-18 12:05:30

标签: maven dependencies maven-assembly-plugin multi-module

我正在开发一个由多个其他项目组成的项目。它具有以下结构:

MainProject

  --projectA

  --projectB

  --projectC

  --projectD

  --parent

  --projectE

  ...

  --projectX

正如您所见,父母是其中之一。我不确定这是不寻常的,但它是这样的,我必须使用它。

我希望使用Assembly插件从每个子项目中获取依赖项,并将它们全部压缩到一个文件夹中。例如,我想要一个包含文件夹的zip文件,该文件夹包含子项目的所有解包依赖项。

这是我到目前为止所做的:

assembly.xml(这是在父项目中)

[...]
    <id>package</id>
        <formats>
            <format>zip</format>
        </formats>
        <includeBaseDirectory>false</includeBaseDirectory>

        <moduleSets>
             <moduleSet>
             <includes>
                 <include>com.example:../one</include>
                 <include>com.example2:../two</include>
                 <include>com.exampleX:../three</include>
             </includes>
             <binaries>
                 <outputDirectory>/library/jars</outputDirectory>
                 <unpack>false</unpack>
             </binaries>
             </moduleSet>
        </moduleSets>

        <dependencySets>
            <dependencySet>
                <unpack>false</unpack>
                <scope>runtime</scope>
                <outputDirectory>library/jars</outputDirectory>
             </dependencySet>
        </dependencySets>
        <fileSets>
            <fileSet>
                <excludes>
                    <exclude>**.xml</exclude>
                </excludes>
            </fileSet>
        </fileSets>
</assembly>

,这是在父pom.xml

[...]
    <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.4</version>
        <executions>
            <execution>
                <id>make-assembly</id>
                <phase>package</phase>
                <goals>
                    <goal>assembly</goal>
                </goals>
            </execution>
         </executions>
        <configuration>
            <descriptors>
                <descriptor>assembly.xml</descriptor>
            </descriptors>
        </configuration>
    </plugin>
[...]

当我从cmd运行mvn clean install时,构建成功。但它不会创建包含我的library/jars目录的zip文件,该目录应该包含每个项目的所有依赖项。它只是在每个项目中创建拉链。这些拉链不包含我想要的目录或任何依赖项,它们只是每个项目目录的拉链。谁能看到我做错了什么?

0 个答案:

没有答案