Я использую 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
в приведенном выше примере).
Возможно ли это?Как?