maven - 如何为插件的不同执行提供不同的属性集?
问题描述
我maven-assembly-plugin
用来组装不同的工件如下:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>configuration-staging</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
<execution>
<id>configuration-production</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
在assembly.xml
中,我启用了模板过滤:
<fileSets>
<fileSet>
<filtered>true</filtered>
这很好用。例如,如果我输入${name}
要组装的资源之一,则将其替换为项目名称。我还可以在 中定义属性pom.xml
,这些属性将被插件替换。
现在,我希望每次执行maven-assembly-plugin
. 例如,我想介绍一个${url}
包含要在目标环境中使用的 URL(staging
以及production
在上面的示例中)的 URL。
这可能吗?如何?
解决方案
显然,可以为每个执行传递不同的属性,maven-assembly-plugin
如下所示:
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<descriptors>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>configuration-staging</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>staging</finalName>
<filters>
<filter>src/main/assembly/staging.properties</filter>
</filters>
</configuration>
</execution>
<execution>
<id>configuration-production</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>production</finalName>
<filters>
<filter>src/main/assembly/production.properties</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
虽然这没有回答一般问题,但它专门回答了maven-assembly-plugin
.
推荐阅读
- node.js - 节点 - Knex 作为连接表的结果返回对象数组
- docusignapi - Docusign 签名字段未显示
- sql - 具有复杂案例条件的 SQL 连接
- python - Discord Guild 的直接消息成员返回错误
- flutter - Flutter - 尝试生成服务合同PDF
- php - 从表中获取所有值并计算具有特定单词的所有单词
- c# - 如何使用 EF 6 在另一个表中添加外键的列描述?
- javascript - 是否可以在 VS Code 终端中编译/执行/调试纯 JavaScript?
- jquery - 我的验证在使用 Ajax 的 Bootstrap 模式中不起作用
- jquery - 将数据从一个字段复制到另一个字段