我发现了一个关于System.getProperty("os.name")
的令人困惑的问题。根据Java bug on the matter和the Java 5 release notes(搜索“os.name”),Java在早期的Vista“longhorn”版本中存在一个bug,应该在v5发布10版中得到修复。
然而,在我的Vista SP1系统上 - 使用v5发布15版和v6发布6版 - System.getProperty("os.name")
返回“Windows XP”。进一步地,System.getProperty("os.version")
返回“5.1”。我无法通过Google找到与此问题相关的任何信息。这让我想知道是否有些奇怪的设置导致了这个问题。我尝试从测试C程序调用GetVersionEx() API函数,它返回主版本号6,次要版本0(正如我对Vista安装所期望的那样)。
还有其他人遇到过这个问题吗?是否知道解决方法或有任何建议可以在不使用JNI的情况下解决它?