在应用程序中显示构建时间戳

Art*_*ium 17 java versioning build

我想显示应用程序在about框中构建的时间戳.这将允许我跟踪应用程序的不同版本.如何在Java中检索此信息?

Chr*_*ter 54

有一个更简单的maven解决方案,不需要antrun插件.Maven有一个特殊的变量maven.build.timestamp(自Maven 2.1.0-M1起).

<plugin>
    <artifactId>maven-war-plugin</artifactId> <!-- or maven-jar-plugin -->
    <version>2.2</version>
    <configuration>
        <archive>
            <manifestEntries>
                <Build-Time>${maven.build.timestamp}</Build-Time>
            </manifestEntries>
        </archive>
    </configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)

这将产生一行"Build-Time:yyyyMMdd-HHmm".格式可以自定义:

<properties>
    <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
</properties>
Run Code Online (Sandbox Code Playgroud)

该模式必须符合SimpleDateFormat的格式.

参考:Maven文档

  • 那么如何从应用程序访问构建时间戳呢? (3认同)
  • 适用于jar文件.太好了! (2认同)
  • 我建议也请/sf/answers/238239851/阅读该文件 (2认同)

Thi*_*ilo 7

您需要告诉构建过程将时间戳放入Java属性文件中,然后应用程序可以从中读取它.另外一个很好的选择就是jar清单文件.

对于ant,您想要使用tstampproperty任务,请参阅此示例.

当您使用它时,您可能还希望包含源代码管理修订号.