显示spring boot / info端点的构建时间

时间:2017-10-03 16:32:02

标签: maven spring-boot spring-boot-actuator spring-boot-maven-plugin

我在spring boot application.yml

中配置了以下属性
info:
  app:
    name: @project.artifactId@
    description: @project.description@
    version: @project.version@
    timestamp: @timestamp@

添加Spring Boot Actuator依赖项后,我可以访问/info端点并查看信息。

要显示时间戳信息,我在maven项目的pom.xml中添加以下属性,如下所示,

<properties>
   <timestamp>${maven.build.timestamp}</timestamp>
    <maven.build.timestamp.format>yyyy-MM-dd'T'HH:mm:ss'Z'</maven.build.timestamp.format>
</properties>

时间戳以正确的格式显示,但不正确。我的意思是我在IST时区,值显示为, 时间戳:&#34; 2017-10-03T16:24:02Z&#34;这是不正确的,可能是以GMT时间格式显示。但是,我想要IST格式。

有人可以帮我吗?

1 个答案:

答案 0 :(得分:1)

默认情况下,Maven以UTC格式发出maven.build.timestamp

您可以使用Maven Build Helper Plugintimestamp-property目标在不同的时区发出时间戳。

以下是一个例子:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>timestamp-property</id>
            <goals>
                <goal>timestamp-property</goal>
            </goals>
            <configuration>
                <name>build.timestamp.with.offset</name>
                <pattern>yyyy-MM-dd'T'HH:mm:ss'Z'</pattern>
                <timeZone>IST</timeZone>
            </configuration>
        </execution>
    </executions>
</plugin>

我只是使用该插件运行构建并使用您的问题中定义的属性,并且我回显了timestamp属性和{build.timestamp.with.offset属性的值{1}}属性:

[INFO] Executing tasks
     [echo] [timestamp]: 2017-10-04T08:14:58Z
     [echo] [build.timestamp.with.offset]: 2017-10-04T12:44:59Z

这清楚地表明默认时间戳是UTC,build.timestamp.with.offset是IST。

因此,您可以使用此插件,然后更新application.yaml以使用build.timestamp.with.offset属性。