【问题标题】:Maven uses timezone which differ from systemMaven 使用与系统不同的时区
【发布时间】:2012-01-04 07:39:53
【问题描述】:

我遇到了一个奇怪的问题:Maven 显示的时间与系统不同。例如:

$ mvn compile | grep Finished
[INFO] Finished at: Wed Jan 04 13:29:50 NOVT 2012
$ LANG=C date
Wed Jan  4 14:29:55 NOVT 2012

这里 Maven 的时间相差 1 小时。

我用谷歌搜索并在这里找到了非常相似的问题,在 SO:new Date(long) gives different results,但没有任何建议的方法对我不起作用:指定 -Duser.timezone=Asia/Novosibirsk-Duser.language=ru-Duser.country=RU 不会影响 Maven 的行为。

我认为问题出在底层系统的 tzdata 上,因为在前一年,我们从夏季时间开始停止移动时间。我已经安装了最新的tzdata-java 包,但没有任何改变。

版本:

  • maven 3.0.3
  • debian 6.0.1
  • tzdata/tzdata-java2011n-0squeeze1

顺便说一句,在我的 IDE(Springsource Tool Suite)中,我遇到了类似的问题。

提前致谢!

(并且可以随意删除一个或多个与问题无关的标签。)

【问题讨论】:

  • date 在您的系统上返回了什么?
  • 您的 maven 输出显示新西伯利亚时间:因为此处的“Wed Jan 4 14:29:55 NOVT 2012”,NOVT 表示新西伯利亚时区。我认为问题是对您的时区所做的最新更改,而不是 Maven 问题。
  • maven显示的时间不是正确的吗?您是否尝试过更新系统时区数据?
  • @mat 不,Maven 的日期不正确。是的,我已经尝试更新 tzdata 包。
  • 好点。不幸的是,大多数用户将不得不等到 Sun 重新发布 Java 的时区信息并修正夏令时,MS 将发布 Windows 补丁,Linux 也是如此。

标签: java linux maven timezone


【解决方案1】:

我通过运行 tzupdater 并修补安装的 JDK 成功解决了这个问题。

更多关于Timezone Updater Tool

【讨论】:

    猜你喜欢
    • 2023-03-23
    • 1970-01-01
    • 2019-06-14
    • 2011-12-14
    • 2012-10-21
    • 2021-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多