うちのメンバーのマシン上でビルドしたwarをTomcatに配備したらこんなエラーが出ました。
Caused by: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0 at java.base/java.time.temporal.ValueRange.checkValidValue(ValueRange.java:311) at java.base/java.time.temporal.ChronoField.checkValidValue(ChronoField.java:714) at java.base/java.time.LocalDate.of(LocalDate.java:269) at java.base/java.time.LocalDateTime.of(LocalDateTime.java:336) at java.base/java.util.zip.ZipUtils.dosToJavaTime(ZipUtils.java:82) at java.base/java.util.zip.ZipUtils.extendedDosToJavaTime(ZipUtils.java:101) at java.base/java.util.zip.ZipEntry.getTime(ZipEntry.java:198) at org.apache.catalina.startup.ExpandWar.expand(ExpandWar.java:167) at org.apache.catalina.startup.ContextConfig.fixDocBase(ContextConfig.java:615) at org.apache.catalina.startup.ContextConfig.beforeStart(ContextConfig.java:748) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:301) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:94) at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:395) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:149) ... 10 more
他のメンバーのマシンではこのエラーが発生しません。よって環境問題です。
ビルドしたwarの中身を見てみた所、こんなことになってます。何だこりゃ。
で、当該者のWindows上で、タイムスタンプが"----/--/--"になっているjarファイルのプロパティを見てみたところ、
となっておりました。タイムスタンプが腐っておる。
というわけで当該のjarファイルをダウンロードしなおしたら、エラーは出なくなりました。
多分ファイルシステムが一部破損していたのだと思います。