JDK-7181505 : System.getProperty("os.name") should return "Windows 8" when run on Win 8/Java 6
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 6u31
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_7
  • CPU: x86
  • Submitted: 2012-07-03
  • Updated: 2012-07-11
  • Resolved: 2012-07-11
Related Reports
Duplicate :  
Description
A DESCRIPTION OF THE REQUEST :
I initiated the request for enhancement for what became Bug 7170169, System.getProperty("os.name") should return "Windows 8" when run on Windows 8. Fixes were delivered for Java 7 and 8, but not for Java 6 -- the platform I used to report the original bug.

  From Bug 7170169:

FULL PRODUCT VERSION :
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b05)
Java HotSpot(TM) Client VM (build 20.6-b01, mixed mode, sharing)

ADDITIONAL OS VERSION INFORMATION :
 customer  Windows [Version 6.2.8250]

A DESCRIPTION OF THE PROBLEM :
The JDK1.6.0 System.getProperty("os.name") doesn't get Windows 8's os.name correct. It should get "Windows 8" instead of "Windows NT (unknown)".

JUSTIFICATION :
  Public updates for Java 6 are scheduled until November 2012. Windows 8 is expected to be released Q4 2012. A fix to the os.name problem is known and should be backported to Java 6 since there will be officially supported overlap between Java 6 and Windows 8.

EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
System.getProperty("os.name") should return "Windows 8" using Java 6.
ACTUAL -
System.getProperty("os.name") returns "Windows NT (unknown)".

---------- BEGIN SOURCE ----------
Run the following code in Windows 8 Release Preview:

public class SystemPropertyTest {

	public static void main(String[] args) {
		System.out.println(System.getProperty("os.name"));
	}

}
---------- END SOURCE ----------