1

Ich habe die unten Eigenschaften in meiner Feder Boot application.yml konfigurierteAnzeige Bauzeit im Frühjahr boot/info Endpunkt

info: 
    app: 
    name: @[email protected] 
    description: @[email protected] 
    version: @[email protected] 
    timestamp: @[email protected] 

Nach der Zugabe von Frühling Boot-Actuator Abhängigkeit, ich bin in der Lage /info Endpunkt zugreifen und die Informationen anzeigen .

die Zeitstempel Informationen anzuzeigen, die ich unten Eigenschaft in Maven Projekt pom.xml hinzufügen, wie unten,

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

Der Zeitstempel wird in richtigen Format displalyed aber es ist nicht richtig ein. Ich meine, ich bin in der IST-Zeitzone und der Wert wird angezeigt als timestamp: "2017-10-03T16: 24: 02Z" was falsch ist, wahrscheinlich wird es im GMT-Zeitformat angezeigt. Aber ich möchte das IST-Format.

Kann mir jemand dabei helfen?

Antwort

0

Standardmäßig gibt Maven die maven.build.timestamp in UTC aus.

Sie können das timestamp-property Ziel der Maven Build Helper Plugin verwenden, um einen Zeitstempel in einer anderen Zeitzone zu senden.

Hier ist ein Beispiel:

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

Ich habe nur einen Build mit diesem Plugin anstelle laufen und mit den Eigenschaften in Frage definiert, und ich bin echo'ing die Werte sowohl die timestamp Eigenschaft und die build.timestamp.with.offset Eigenschaft:

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

Dies zeigt deutlich, dass die Standard-Zeitstempel in UTC und die build.timestamp.with.offset ist in iST.

So könnten Sie dieses Plugin verwenden und dann Ihre application.yaml aktualisieren, um die build.timestamp.with.offset Eigenschaft zu verwenden.

+0

Danke. Gibt es eine Möglichkeit, die Zeitzone automatisch zu erkennen und die Daten im aktuellen Zeitzonenformat zu generieren? – all4u

+0

@ all4u: Nicht dass ich mir dessen bewusst bin. Betrachtet man den [code] (https://github.com/mojohaus/build-helper-maven-plugin/blob/master/src/main/java/org/codehau/mojo/buildhelper/TimestampPropertyMojo.java) so scheint es Standard ist GMT, wenn Sie keinen Wert angeben. Sie könnten [fork das Plugin] (https://github.com/mojohaus/build-helper-maven-plugin) und ändern Sie das Verhalten der "timestamp-Eigenschaft", um Ihre Anforderungen zu erfüllen. – glytching