java - tzdata 和 tzdata-java rpm 的使用
问题描述
根据 Google,tzdata rpm 控制在系统级别应用的时区,而 tzdata-java 控制面向 Java 的应用程序(例如 openJDK、JRE)的时区。
我的困惑是..为什么java应用程序不使用系统级时区的系统级相关数据。为什么需要单独的 rpm tzdata-java 来更新时区?
解决方案
Java 可在多种操作系统上运行,但并非所有操作系统都包含 Linux rpm 包中的 tzdata。因此,他们似乎希望拥有一种适用于所有 Java 安装的解决方案,而不是一种适用于包含数据的操作系统和另一种适用于不包含数据的系统的解决方案。
我不知道是否所有操作系统都包含默认时区。似乎他们认为许多操作系统确实提供了默认时区,因此在需要采用 JVM 时区的情况下,从操作系统中获取 JVM 的默认时区是有意义的。除了如果需要,您还可以使用不同的默认时区启动 JVM,user.timezone
从命令行设置系统属性。我可以补充一点,由于并非所有操作系统都具有相同的时区概念,因此有时在某些系统上需要进行一些转换。我已经看到至少一个 Stack Overflow 问题,其中 JVM 的默认时区与提问者对操作系统默认时区的期望不一致。
推荐阅读
- r - 使用 data.table 比较两个数据集
- php - 在下拉列表中显示 WooCommerce 变量订阅及其变体
- linux - 如何在 debain 64 位系统的 Linux 上安装 wine?
- javascript - 如何将变量从javascript传递到rails中查看?
- twilio - 显示来自 Twilio REST API 的 date_created 值
- flutter - #I/flutter (11573): Text("发生错误:FormatException: Invalid radix-10 number (at character 1)\n//api.ergagro.com:112\n^\n")
- javascript - 正则表达式匹配将 ES 模块导入更改为直接导入
- jquery - jQuery 切换菜单问题自动关闭
- java - 无法在 android 中实现 Crashlytics
- bash - 从以逗号分隔的文件中捕获丢失的主机名