Cómo acceder a maven.construir.marca de tiempo para el filtrado de recursos


Estoy usando maven 3.0.4 y me gustaría hacer que la marca de tiempo de compilación sea accesible para mi aplicación. Para esto, estoy poniendo un marcador de posición en un archivo .properties y dejar que maven filtre en la compilación. Mientras que esto está funcionando bien para ${project.version}, ${maven.build.timestamp} no se sustituye en el filtrado.

La propiedad parece estar disponible en la compilación-puedo usarla para modificar el nombre del artefacto:

<finalName>${project.artifactId}-${maven.build.timestamp}</finalName>

Entonces, ¿por qué no está disponible para el filtrado de recursos? Y, lo que es más importante, ¿cómo lo hago accesible?

Author: Cœur, 2012-11-05

2 answers

He descubierto este artículo, explicando que debido a un error en maven, la marca de tiempo de compilación no se propaga al filtrado. La solución es envolver la marca de tiempo en otra propiedad:

<properties>
   <timestamp>${maven.build.timestamp}</timestamp>
   <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>

El filtrado funciona como se espera para

buildTimestamp=${timestamp}
 182
Author: kostja,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-05-21 13:50:28

Para enriquecer el contenido de Stackoverflow para otros, que como yo, encontraron este post como una forma de resolver el "problema" de ${maven.build.timestamp}. Esto no es un error maven, sino un comportamiento esperado de m2e, como se puede ver en este post.

Por lo tanto, creo que no podemos esperar que la solución sea "corregida", ya que, por lo que entiendo, la corrección involucra cuestiones conceptuales.

En mi caso, lo que hice fue usar el plugin (buildnumber-maven-plugin) como se describe en este otro post .

 2
Author: Bob Rivers,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:18:00