Как обновить токены в файле свойств сборкой maven, которая упаковывается как war? - PullRequest
0 голосов
/ 07 сентября 2018

У меня есть проект, в котором временная метка применяется к номеру версии каждый раз, когда проект создается с помощью следующей конфигурации

<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 расположения: -

  1. мишень / классы
  2. проект-buildversion / WEB-INF / классы

Свойства в этих 2 местах не обновляются, чтобы показать правильную версию сборки и идентификатор артефакта, а параметры отображаются в том виде, в котором они были изначально. Какие изменения я должен внести, чтобы убедиться, что свойства обновляются, когда сборка упакована как война?

...