Puedo confirmar que Maven 3.x {maven.build.timestamp}
está "funcionando" ahora. Trabajan alrededor del problema, aparentemente. Ya no se properties
necesitan soluciones adicionales .
Sin embargo, tenga cuidado de que su complemento de "filtrado" (maven-resources-plugin) esté actualizado. Debe ser relativamente nuevo, por lo que si mvn help:effective-pom
muestra una versión anterior (por ejemplo: 2.6), colóquela en algo más nuevo, arregló para mí, 3.x por ejemplo:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<properties><timestamp>...
Ya no se requiere una solución alternativa ...
Esto también aclaró, en cierto modo, por qué estaba funcionando en IntelliJ pero no en la línea de comandos. IntelliJ probablemente usa sus propias constantes de maven "modificadas / internas", por lo que estaba funcionando allí, pero no desde la línea de comandos de Maven.
También tenga en cuenta que si agrega un directorio de recursos de filtrado a su pom, es posible que también deba "volver a agregar" el directorio predeterminado, se pierde, por ejemplo:
<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, si está usando Spring Boot como padre, debe usar @ maven.build.timestamp @ en su lugar . También tenga en cuenta que si está usando Spring Boot, hay un archivo META-INF/build-info.properties
que es creado opcionalmente por el spring-boot-maven-plugin
que puede leer (Spring proporciona un BuildProperties
bean para mayor comodidad al leerlo).
target/${project}
carpeta, pero en mi configuración actual, Tomcat no está usando esta carpeta ...