如何在程序集描述符文件中包含Maven程序集执行特定表达式?

时间:2010-12-10 07:39:42

标签: build-process maven maven-assembly-plugin

我目前有两个程序集描述符,我的项目有两个执行,它为两个不同的组生成项目的分布:

      <!-- Client distribution -->
      <execution>
        <id>client</id>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/dist-client.xml</descriptor>
          </descriptors>
        </configuration>
      </execution>
      <!-- Developer distribution -->
      <execution>
        <id>developer</id>
        <phase>package</phase>
        <goals>
          <goal>single</goal>
        </goals>
        <configuration>
          <descriptors>
            <descriptor>src/main/assembly/dist-developer.xml</descriptor>
          </descriptors>
        </configuration>
      </execution>
    </executions>

这意味着我必须维护两组描述符,shell脚本等,我想避免,但我似乎无法找到一种方法来获取包含执行ID的表达式或执行所特有的另一个配置参数描述符。

我假设如果表达式对程序集可见,那么插件也可以将它替换为我的shell脚本,以便将构建合并到一个具有两次执行的dist程序集描述符中。

有人能提出更好的方法吗?

1 个答案:

答案 0 :(得分:0)

这不是总答案,但你至少可以使用descriptor component来改善这种情况。描述符组件是程序集描述符文件的一部分,旨在在多个描述符中重用。

也许在过滤和描述符组件之间,您可以限制需要进入每个程序集描述符文件的项目数量。

相关问题