I am using maven 3.0.4 and would like to make the build timestamp accessible to my application. For this, I\'m putting a placeholder in a .properties
file and l
I can confirm as of Maven 3.x {maven.build.timestamp}
is "working" now. They work arounded the problem, apparently. No additional properties
workaround needed anymore.
However, be careful your "filtering" plugin (maven-resources-plugin) is up to date. It needs to be relatively new, so if mvn help:effective-pom
shows an old version (ex: 2.6), bump it to something newer, fixed it for me, 3.x ex:
org.apache.maven.plugins
maven-resources-plugin
3.1.0
workaround is no longer required...
This also cleared up, kind of, why it was working in IntelliJ but not the command line. IntelliJ probably uses their own "modified/internal" maven constants, so it was working there, but not from maven command line.
Also note if you add a filtering resource directory to you pom, you may need to also "re-add" the default directory, it gets lost, ex:
src/main/resources-filtered
true
src/main/resources
NB if you're using spring boot as your parent, you have to use @maven.build.timestamp@ instead. Also note if you're using spring boot there's a file META-INF/build-info.properties
that is optionally created by the spring-boot-maven-plugin
that you can read (spring provides a BuildProperties
bean for convenience reading it).