tutorial que proyecto pom español desde create crear consola comandos maven timestamp maven-3

que - pom maven



Cómo acceder a maven.build.timestamp para el filtrado de recursos (2)

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, coloco un marcador de posición en un archivo .properties y dejo que maven filtre en build. Si bien esto funciona 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, más importante aún, ¿cómo lo hago accesible?


Con el fin de enriquecer el contenido de para otros, que como yo, encontramos esta publicación 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 implica problemas conceptuales.

En mi caso, lo que hice fue usar el complemento ( buildnumber-maven-plugin ) como se describe en esta otra publicación .


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 alternativa es ajustar 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 entonces como se esperaba

buildTimestamp=${timestamp}