将依赖项汇编资源复制到特定文件夹

时间:2012-06-11 11:40:00

标签: maven

我有ProjectA,它使用Maven程序集插件将一些资源从模块打包到存储库中。

我有ProjectB,它依赖于ProjectA。在ProjectB中,我想使用maven-dependency-plugin将模块资源(由程序集插件打包)解压缩到我选择的某个目标文件夹中。

我将依赖插件配置如下,但是当我运行maven时,它只会复制模块的资源,而不是复制程序集资源。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>2.1</version>
    <executions>
        <execution>
            <phase>initialize</phase>
            <goals>
                <goal>unpack</goal>
            </goals>
            <configuration>
                <artifactItems>
                    <artifactItem>
                        <groupId>path.to.projectA.groupId</groupId>
                        <artifactId>moduleA</artifactId>
                        <version>1.0</version>                  

                        <outputDirectory>some/path/here</outputDirectory>
                    </artifactItem>
                </artifactItems>
            </configuration>
        </execution>
    </executions>
</plugin>

1 个答案:

答案 0 :(得分:2)

您需要为maven指定正确的classifiertype,以便它可以执行此操作。您的程序集应该可以在本地存储库中找到,也可以从存储库下载。

例如,假设您的程序集名为moduleA-distribution-1.0.zip,您可以按如下方式更改上述代码段:

             <artifactItem>
                    <groupId>path.to.projectA.groupId</groupId>
                    <artifactId>moduleA</artifactId>
                    <version>1.0</version>                  
                    <classifier>distribution</classifier>
                    <type>zip</type>
                    <outputDirectory>some/path/here</outputDirectory>
              </artifactItem>