У меня есть проект, в котором временная метка применяется к номеру версии каждый раз, когда проект создается с помощью следующей конфигурации
<project>
....
<version>${build.timestamp}</version>
<packaging>war</packaging>
....
<properties>
....
<build.timestamp>${maven.build.timestamp}</build.timestamp>
....
</properties>
....
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
.....
</build>
</project>
и у меня есть файл свойств в src / main / resources, который содержит два свойства
client.version = ${project.version}
client.name = ${project.artifactId}
Если pom.xml собран без упаковки его как war, свойства корректно обновляются до требуемой версии сборки в target / классах, как показано ниже: -
client.version = 1.0.090705
client.name = my-project
Однако, когда сборка упакована как война, файл свойств копируется в 2 расположения: -
- мишень / классы
- проект-buildversion / WEB-INF / классы
Свойства в этих 2 местах не обновляются, чтобы показать правильную версию сборки и идентификатор артефакта, а параметры отображаются в том виде, в котором они были изначально.
Какие изменения я должен внести, чтобы убедиться, что свойства обновляются, когда сборка упакована как война?