我有 2 个 Maven 模块。一个模块使用 maven-assembly-plugin 构建一堆 zip 文件。第二个模块需要在其包中包含第一个模块构建的一些 zip 文件。有什么方法可以做到这一点。谢谢你。
2 回答
最简单的方法是将 zip 部署到存储库。对于本地存储库,使用 install:install-file,对于中央存储库,使用 deploy:deploy-file。
您可以在第二个模块中将 zip 声明为依赖项。
所以有人提到将它部署到您的存储库。如果您已经准备好将构建的工件部署到存储库,这很容易,如果没有,请查看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 页面了解更多详细信息。
希望有帮助。