gpt4 book ai didi

Maven Assembly 插件,上传正确的 zip 文件

转载 作者:行者123 更新时间:2023-12-02 02:20:00 26 4
gpt4 key购买 nike

我有类似下面的东西,我需要生成 2 个 zip 文件,最后将它们压缩到另一个 zip 文件:

        <plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>assembly1</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>assembly1</finalName>
<descriptors>
<descriptor>assembly1.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
<execution>
<id>assembly2</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>assembly2</finalName>
<descriptors>
<descriptor>assembly2.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
<execution>
<id>assembly3</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>assembly3</finalName>
<descriptors>
<descriptor>assembly3.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>

我想做的是创建 2 个名为 assembly1.zip 和 assembly2.zip 的 zip 文件,最后将这 2 个 zip 文件压缩到 assembly3.zip

在目标文件夹下,我看到了创建的 zip 文件,在 assembly3.zip 中,我也看到了 assembly1 和 2 zip 文件。

当Maven上传到本地repo时,它会随机选择其中一个zip文件,我要上传的是assembly3.zip文件。

这是我在 Maven 日志中看到的:

[INFO] --- maven-assembly-plugin:2.2-beta-5:single (assembly1) @ MyTestWar ---
[INFO] Reading assembly descriptor: assembly1.xml
[INFO] Building zip: C:\MyTest\target\assembly1.zip

[INFO] --- maven-assembly-plugin:2.2-beta-5:single (assembly2) @ MyTestWar ---
[INFO] Reading assembly descriptor: assembly2.xml
[INFO] Building zip: C:\MyTest\target\assembly2.zip
**[WARNING] Artifact com.test:MyTestWar:zip:1.0.0.11-SNAPSHOT already attached to project, ignoring duplicate**

[INFO] --- maven-assembly-plugin:2.2-beta-5:single (assembly3) @ MyTestWar ---
[INFO] Reading assembly descriptor: assembly3.xml
[INFO] Building zip: C:\MyTest\target\assembly3.zip
**[WARNING] Artifact com.test:MyTestWar:zip:1.0.0.11-SNAPSHOT already attached to project, ignoring duplicate**



**[INFO] Installing C:\MyTest\target\assembly1.zip to C:\Users\myUserName\.m2\repository\
com\test\MyTestWar\1.0.0.11-SNAPSHOT\MyTestWar-1.0.0.11-SNAPSHOT.zip**

这是我尝试上传 Assembly3.zip 的 Maven 安装插件

<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<executions>
<execution>
<phase>install</phase>
<id>zip-upload</id>
<goals>
<goal>install-file</goal>
</goals>
<configuration>
<packaging>zip</packaging>
<artifactId>Assembly3</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<file>${project.build.directory}/assembly3.zip</file>
</configuration>
</execution>
</executions>
</plugin>

虽然提到它必须上传 assembly3.zip,但出于某种原因 Maven 正在选择 assembly1.zip。

我也对这些警告感兴趣。

非常感谢任何帮助消除警告以及上传 Assembly3.zip 的帮助。

谢谢

最佳答案

使用

<attach>true</attach>

仅适用于您要上传的程序集。对于其他两个执行,省略此选项。

至于为什么它选择一个随机程序集而不是上传所有三个程序集,我猜测程序集 ID 在您的 assembly descriptors 中。都是一样的。错误信息

[WARNING] Artifact com.test:MyTestWar:zip:1.0.0.11-SNAPSHOT already attached to project, ignoring duplicate

暗示这一点。即使您为 zips 指定了不同的 finalName 值,它们仍然会从程序集描述符中的 ID 继承分类器。

关于Maven Assembly 插件,上传正确的 zip 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8734706/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com