Вы можете использовать maven-timestamp-plugin , чтобы установить свойство (например, timestamp
) и использовать его позже в окончательном имени вашей сборки.
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<id>create-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<appendAssemblyId>false</appendAssemblyId>
<finalName>domain_${timestamp}</finalName>
<descriptors>
<descriptor>src/main/assembly/my-descriptor.xml</descriptor>
</descriptors>
<attach>true</attach>
</configuration>
</execution>
</executions>
</plugin>
В качестве альтернативы, вы можете добавить код Groovy в POM, используя плагин GMaven :
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>gmaven-plugin</artifactId>
<version>1.3</version>
<executions>
<execution>
<id>set-custom-property</id>
<phase>initialize</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
def timestamp = new Date().format('MM_dd_yy')
project.properties.setProperty('timestamp', timestamp)
</source>
</configuration>
</execution>
<execution><!-- for demonstration purpose -->
<id>show-custom-property</id>
<phase>generate-resources</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
println project.properties['timestamp']
</source>
</configuration>
</execution>
</executions>
</plugin>
Пример вывода, показывающий свойство:
$ mvn generate-resources
[INFO] Scanning for projects...
[INFO]
...
[INFO] --- gmaven-plugin:1.3:execute (set-custom-property) @ Q4081274 ---
[INFO]
[INFO] --- gmaven-plugin:1.3:execute (show-custom-property) @ Q4081274 ---
<b>11_02_10</b>
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
...
И снова, используйте это свойство позже в имени сборки вашей сборки.