Java的系统属性在升级到“Windows 10”后返回“Windows 8.1”

2022-09-04 21:38:15

我升级到Windows 10进行得非常顺利,只需要重新安装几个程序。Java就是其中之一,因为Eclipse不再启动:eclipse 64位没有运行,但32位运行了,我在一台64位机器上,它曾经工作过。通过卸载并重新安装Java和JDK可以很容易地解决这个问题。然而,仍然存在一个问题。

System.getProperty(" ... ")返回下一个错误值:

  • "os.name" = "Windows 8.1"应该说"Windows 10"
  • "os.version" = "6.3"这也是错的吗?

这是Java的问题,还是因为Windows 10是通过系统更新完成的,而我的系统在技术上仍然是“Windows 8.1”?


答案 1

这是当前Java的一个问题。

MS更改了Windows 10中的一些API行为,Java无法正确识别它。有关详细信息,请参阅 https://bugs.openjdk.java.net/browse/JDK-8059803

这将在即将推出的 jdk8u60 中修复。Windows 10 上的最新开发版本报告:

os.name = Windows 10
os.version = 10.0

答案 2