java - 为什么 maven 在 Mac Big Sur 中没有显示正确的操作系统版本

标签 java macos maven

我将 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?

最佳答案

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

关于java - 为什么 maven 在 Mac Big Sur 中没有显示正确的操作系统版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68974758/

相关文章:

objective-c - 如何以编程方式获取使用大量能量的应用程序,例如 MacBook 的电池图标

java - 我无法从多模块 Maven 项目中加载资源

java - 本地tomcat中的GWT应用: nocache. js 404未找到

java - 在没有默认构造函数的情况下调试 XStream

java - Android将多个不同大小的位图绘制到相同大小的 Canvas

objective-c - OS X 在后台打开 URL 方案

objective-c - cocoa:知道应用程序图标在 Dock 中的位置

java - Maven 仍然可以成功构建并出现已知错误

java - 如何将二进制文字传递给 JavaScript eval?

java - 从最终类(实用程序类)模拟私有(private)静态方法