diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/MavenBuildOutputTimestamp.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/MavenBuildOutputTimestamp.java index 5ed4d5078422..8ecf954e008a 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/MavenBuildOutputTimestamp.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/main/java/org/springframework/boot/maven/MavenBuildOutputTimestamp.java @@ -88,7 +88,7 @@ Instant toInstant() { try { Instant instant = OffsetDateTime.parse(this.timestamp) .withOffsetSameInstant(ZoneOffset.UTC) - .truncatedTo(ChronoUnit.SECONDS) + .truncatedTo(ChronoUnit.MILLIS) .toInstant(); if (instant.isBefore(DATE_MIN) || instant.isAfter(DATE_MAX)) { throw new IllegalArgumentException( diff --git a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/MavenBuildOutputTimestampTests.java b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/MavenBuildOutputTimestampTests.java index 23641fef4618..d889f557eca9 100644 --- a/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/MavenBuildOutputTimestampTests.java +++ b/spring-boot-project/spring-boot-tools/spring-boot-maven-plugin/src/test/java/org/springframework/boot/maven/MavenBuildOutputTimestampTests.java @@ -52,8 +52,13 @@ void shouldParseIso8601() { } @Test - void shouldParseIso8601WithMilliseconds() { - assertThat(parse("2011-12-03T10:15:30.12345Z")).isEqualTo(Instant.parse("2011-12-03T10:15:30Z")); + void shouldParseIso8601WithSeconds_whenMillisecondsNotPresent() { + assertThat(parse("2011-12-03T10:15:30Z")).isEqualTo(Instant.parse("2011-12-03T10:15:30Z")); + } + + @Test + void shouldParseIso8601WithMillisecondsPreserved_whenPresent() { + assertThat(parse("2024-12-19T19:59:39.040Z")).isEqualTo(Instant.parse("2024-12-19T19:59:39.040Z")); } @Test