【问题标题】:Maven assembly plugin - multiple descriptors?Maven 程序集插件 - 多个描述符?
【发布时间】:2018-07-04 18:43:27
【问题描述】:

目标是创建单个 ZIP 文件,但将 Maven 程序集插件的配置拆分为通用且更具体的描述符。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>3.0.0</version>
    <configuration>
        <descriptors>
            <descriptor>${project.basedir}/../src/assembly/rest-executables.xml</descriptor>
            <descriptor>${project.basedir}/../../src/assembly/deliverables.xml</descriptor>
        </descriptors>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

但是,当两个自定义描述符具有唯一 ID 时,会创建两个 ZIP 文件 - 每个都包含预期的内容。当 ID 相同时,只执行最后一个描述符(或覆盖之前的内容)。

我正在尝试的内容是不可能的,还是我错过了“附加到现有 ZIP”而不是“始终创建新 ZIP”之类的选项?

【问题讨论】:

  • component descriptors 是否适用于您的用例?它允许将配置拆分为多个文件,然后在一个或多个描述符中使用组件。
  • 谢谢。乍一看,它似乎解决了我的问题。
  • 给定的描述符目录看起来很奇怪......
  • @khmarbaise 在哪方面?
  • 因为您正在使用诸如/../.. 之类的东西,看起来您在其他地方拥有描述符而不是当前项目需要它们......

标签: maven maven-assembly-plugin


【解决方案1】:

我能够重现该问题并通过删除内部描述符标签来修复它

<configuration>
    <descriptors>${project.basedir}/../src/assembly/rest-executables.xml,${project.basedir}/../../src/assembly/deliverables.xml</descriptors>
</configuration>

它开始按预期产生工件。还原内部元素后,我无法重现该问题。

【讨论】:

    猜你喜欢
    • 2010-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 2015-04-14
    • 1970-01-01
    • 2013-04-03
    • 1970-01-01
    相关资源
    最近更新 更多