How to access maven.build.timestamp for resource filtering

前端 未结 4 547
北荒
北荒 2020-12-02 08:20

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

4条回答
  •  时光取名叫无心
    2020-12-02 08:53

    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).

提交回复
热议问题