我有2个maven模块。一个模块使用maven-assembly-plugin构建一堆zip文件。第二个模块需要包含其包中第一个模块构建的一些zip文件。这样做的方法是什么。谢谢。
答案 0 :(得分:1)
最简单的方法是将zip文件部署到存储库。对于本地存储库,请使用install:install-file,对于中央存储库,请使用deploy:deploy-file。
您可以在第二个模块中将zips声明为依赖项。
答案 1 :(得分:0)
所以其他人提到将它部署到您的存储库。如果您已经设置为将构建的工件部署到存储库,这很容易,如果没有,请查看http://maven.apache.org/plugins/maven-deploy-plugin/
接下来,您需要使用插件来从存储库中检出zip文件。你可以使用shade或maven-dependency-plugin。我们假设maven-dependency-plugin http://maven.apache.org/plugins/maven-dependency-plugin/usage.html
所以将它添加到插件部分的maven pom文件中:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack</id>
<phase>process-sources</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>my.artifact.group.id</groupId>
<artifactId>my-artifact</artifactId>
<version>My-version</version>
<type>zip</type>
<overWrite>false</overWrite>
<outputDirectory>${project.build.directory}/see</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
显然你需要改变工件的细节。这会将你的zip文件解压缩到target / see。如果您想要实际的zip文件(这看起来像您要求的但尚不清楚),只需将目标从“解包”更改为“复制依赖”。您可能还必须删除outputDirectory或更改配置的其他位。只需使用它来获取它所需的位置,并查看上面提到的maven-dependency-plugin上的页面以获取更多详细信息。
希望有所帮助。