0

我有 2 个 Maven 模块。一个模块使用 maven-assembly-plugin 构建一堆 zip 文件。第二个模块需要在其包中包含第一个模块构建的一些 zip 文件。有什么方法可以做到这一点。谢谢你。

4

2 回答 2

1

最简单的方法是将 zip 部署到存储库。对于本地存储库,使用 install:install-file,对于中央存储库,使用 deploy:deploy-file。

您可以在第二个模块中将 zip 声明为依赖项。

于 2011-06-22T15:52:35.140 回答
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 页面了解更多详细信息。

希望有帮助。

于 2011-06-24T13:14:56.653 回答