【问题标题】:Why maven is not showing correct OS version in Mac Big Sur为什么 maven 在 Mac Big Sur 中没有显示正确的操作系统版本
【发布时间】:2021-10-28 15:41:14
【问题描述】:

我将 Mac OS 从 Catalina 升级到 Big Sur 但“$mvn --version” 将操作系统版本显示为 10.16 为:

Maven home: /usr/local/Cellar/maven/3.8.2/libexec
Java version: 1.8.0_192, vendor: Oracle Corporation, runtime: /Library/Java/JavaVirtualMachines/jdk1.8.0_192.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.16", arch: "x86_64", family: "mac"

而当我运行 shell 命令时:

$sw_vers 

我得到的输出为:

ProductName:    macOS
ProductVersion: 11.5.2
BuildVersion:   20G95

那么为什么mvn --version 没有将操作系统版本显示为 11.5.2?

【问题讨论】:

  • Maven 使用System.getProperty("os.version") 代码获取系统版本。此代码依赖于本地代码,它是向后兼容的。正如this article 所说,如果应用程序使用 10.15 SDK 构建,应用程序将报告 Big Sur 为 10.16,如果应用程序使用 11.0 SDK 构建,它将报告版本 11。您可以尝试重新安装 java 并再次检查。但是 10.16 是 Big Sur 的正确版本
  • @geobreeze 为什么不回答您的评论?

标签: java macos maven


【解决方案1】:

正如geobreeze所提到的:

Maven 使用System.getProperty("os.version") 代码获取系统版本。这段代码依赖于原生代码,它是向后兼容的。

正如this article 所说,如果应用程序是使用 10.15 SDK 构建的,它将报告 Big Sur 为 10.16。如果应用程序是使用 11.0 SDK 构建的,它将报告版本 11。

您可以尝试重新安装 java 并再次检查。但是 10.16 是 Big Sur 的正确版本。

【讨论】:

    猜你喜欢
    • 2017-02-16
    • 2015-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    相关资源
    最近更新 更多