在应用程序中显示生成时间戳

2022-09-01 21:36:07

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


答案 1

有一个更简单的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>

这将产生一行“Build-Time: yyyyMMdd-HHmm”。格式可以通过以下方式进行自定义:

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

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

参考:Maven 文档


答案 2

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

对于 ant,您希望使用 tstamp属性任务,请参阅此示例

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


推荐