Posso confirmar que o Maven 3.x {maven.build.timestamp}
está "funcionando" agora. Eles contornaram o problema, aparentemente. Nenhuma properties
solução alternativa adicional necessária.
No entanto, tome cuidado com o plugin de "filtragem" (maven-resources-plugin) atualizado. Ele precisa ser relativamente novo, então se mvn help:effective-pom
mostrar uma versão antiga (ex: 2.6), coloque algo mais novo, conserte para mim, 3.x ex:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>...
a solução alternativa não é mais necessária ...
Isso também esclareceu, mais ou menos, por que estava funcionando no IntelliJ, mas não na linha de comando. O IntelliJ provavelmente usa suas próprias constantes do maven "modificadas / internas", então estava funcionando lá, mas não na linha de comando do maven.
Observe também que se você adicionar um diretório de recursos de filtragem ao seu pom, pode ser necessário "adicionar novamente" o diretório padrão, ele se perde, por exemplo:
<resource>
<directory>src/main/resources-filtered</directory> <!-- to get "maven.build.timestamp" into resource properties file -->
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/resources</directory> <!-- apparently have to add this is you have the other... -->
</resource>
NB se você estiver usando uma bota de primavera como seu pai, você deve usar @ maven.build.timestamp @ em seu lugar . Observe também que se você estiver usando o spring boot, há um arquivo META-INF/build-info.properties
que é criado opcionalmente pelo spring-boot-maven-plugin
que você pode ler (o spring fornece um BuildProperties
bean para facilitar a leitura).
target/${project}
pasta, mas na minha configuração atual o Tomcat não está usando esta pasta ...