[ https://issues.apache.org/jira/browse/MJAR-300?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17816451#comment-17816451 ]
Henning Schmiedehausen commented on MJAR-300: --------------------------------------------- In your second example: 2024-02-11T10:46:07+01:00 0 Sun Feb 11 09:46:06 CET 2024 META-INF/ There is a one hour difference between those two values (10:46:xx +01:00 is *NOT* 09:46:xx CET) In your third example: 2024-02-11T09:46:43+00:00 0 Sun Feb 11 09:46:42 CET 2024 META-INF/ There is a timezone shift here (+00:00 is *NOT* CET) your fourth example I could not reproduce: DATE=$(TZ=America/New_York date -Iseconds) ; echo $DATE ; TZ=America/New_York mvn -q -Dproject.build.outputTimestamp=$DATE clean package ; jar tvf target/jartest-0.1-SNAPSHOT.jar 2024-02-11T15:18:32-05:00 0 Sun Feb 11 20:18:32 PST 2024 META-INF/ 699 Sun Feb 11 20:18:32 PST 2024 META-INF/MANIFEST.MF 0 Sun Feb 11 20:18:32 PST 2024 META-INF/maven/ 0 Sun Feb 11 20:18:32 PST 2024 META-INF/maven/jartest/ 0 Sun Feb 11 20:18:32 PST 2024 META-INF/maven/jartest/jartest/ 5 Sun Feb 11 20:18:32 PST 2024 testfile.txt 575 Sun Feb 11 20:18:32 PST 2024 META-INF/maven/jartest/jartest/pom.xml 56 Sun Feb 11 20:18:32 PST 2024 META-INF/maven/jartest/jartest/pom.properties This still produces an archive with timestamps in my local timezone and 15:18-05:00 would be 12:18-08:00 (PST), we are three hours behind. So the results make even less sense (why would a timestamp of 15:18-05:00 end up being 20:18-08:00?) You literally reproduced the problem in your second and third example with the evidence visible. > maven jar plugin does not interpret build outputTimestamp correctly > ------------------------------------------------------------------- > > Key: MJAR-300 > URL: https://issues.apache.org/jira/browse/MJAR-300 > Project: Maven JAR Plugin > Issue Type: Bug > Affects Versions: 3.3.0 > Reporter: Henning Schmiedehausen > Priority: Major > > consider a minimal project that packages a jar: > % DATE=$(date -Iseconds) ; echo $DATE ; mvn -q clean package ; jar tvf > target/jartest-0.1-SNAPSHOT.jar > 2024-02-10T21:44:53-08:00 > 0 Sat Feb 10 21:44:54 PST 2024 META-INF/ > 568 Sat Feb 10 21:44:54 PST 2024 META-INF/MANIFEST.MF > 0 Sat Feb 10 21:44:54 PST 2024 META-INF/maven/ > 0 Sat Feb 10 21:44:54 PST 2024 META-INF/maven/jartest/ > 0 Sat Feb 10 21:44:54 PST 2024 META-INF/maven/jartest/jartest/ > 5 Sat Feb 10 21:44:54 PST 2024 testfile.txt > 575 Sat Feb 10 21:39:50 PST 2024 META-INF/maven/jartest/jartest/pom.xml > 56 Sat Feb 10 21:44:54 PST 2024 > META-INF/maven/jartest/jartest/pom.properties > Note how the timestamp returned by the date command and the timestamps of the > entries in the jar are basically the same (around 21:44:53 - 21:44:54 on Feb > 10th, 2024) > Now use that date as the project build timestamp: > DATE=$(date -Iseconds) ; echo $DATE ; mvn -q > -Dproject.build.outputTimestamp=$DATE clean package ; jar tvf > target/jartest-0.1-SNAPSHOT.jar > 2024-02-10T21:46:30-08:00 > 0 Sun Feb 11 05:46:30 PST 2024 META-INF/ > 568 Sun Feb 11 05:46:30 PST 2024 META-INF/MANIFEST.MF > 0 Sun Feb 11 05:46:30 PST 2024 META-INF/maven/ > 0 Sun Feb 11 05:46:30 PST 2024 META-INF/maven/jartest/ > 0 Sun Feb 11 05:46:30 PST 2024 META-INF/maven/jartest/jartest/ > 5 Sun Feb 11 05:46:30 PST 2024 testfile.txt > 575 Sun Feb 11 05:46:30 PST 2024 META-INF/maven/jartest/jartest/pom.xml > 56 Sun Feb 11 05:46:30 PST 2024 > META-INF/maven/jartest/jartest/pom.properties > > The timestamp and the entries in the jar differ by eight hours (the offset of > my local timezone). > When forcing UTC: > DATE=$(TZ=UTC date -Iseconds) ; echo $DATE ; mvn -q > -Dproject.build.outputTimestamp=$DATE clean package ; jar tvf > target/jartest-0.1-SNAPSHOT.jar > 2024-02-11T05:48:22+00:00 > 0 Sun Feb 11 05:48:22 PST 2024 META-INF/ > 568 Sun Feb 11 05:48:22 PST 2024 META-INF/MANIFEST.MF > 0 Sun Feb 11 05:48:22 PST 2024 META-INF/maven/ > 0 Sun Feb 11 05:48:22 PST 2024 META-INF/maven/jartest/ > 0 Sun Feb 11 05:48:22 PST 2024 META-INF/maven/jartest/jartest/ > 5 Sun Feb 11 05:48:22 PST 2024 testfile.txt > 575 Sun Feb 11 05:48:22 PST 2024 META-INF/maven/jartest/jartest/pom.xml > 56 Sun Feb 11 05:48:22 PST 2024 > META-INF/maven/jartest/jartest/pom.properties > The timestamp is "correct" but I passed it in as UTC but the jar plugin > considers it "local time" and silently attaches PST as timezone. This is > where the eight hours discrepancy come from. > This seems to be specific to the outputTimestamp parsing of the jar plugin. > > > > > > > > -- This message was sent by Atlassian Jira (v8.20.10#820010)