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