我有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>
答案 0 :(得分:2)
您需要为maven指定正确的classifier
和type
,以便它可以执行此操作。您的程序集应该可以在本地存储库中找到,也可以从存储库下载。
例如,假设您的程序集名为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>