(2012/10/31追記:Java 6系も6u38で問題が解消されます)
Windows 8の環境で、JavaのSystem.getProperty("os.name")
が「Windows NT (unknown)」と返ってくる(返ってきた)件についてメモ。
結論から書くと、Java 7のUpdate 6で修正されていて、正しく「Windows 8」の文字列が得られるようになっています。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=7170169
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=2224977
ソースはこの辺です。
http://hg.openjdk.java.net/jdk7u/jdk7u-dev/jdk/rev/3562fc7500a4
Windows 8、つまりNTカーネル 6.2に対応する分岐が追加されています。
〜
if (ver.wProductType == VER_NT_WORKSTATION) {
switch (ver.dwMinorVersion) {
case 0: sprops.os_name = “Windows Vista”; break;
case 1: sprops.os_name = “Windows 7”; break;
case 2: sprops.os_name = “Windows 8”; break; // ★この辺
default: sprops.os_name = “Windows NT (unknown)”;
}
} else {
〜
“Windows8でJavaのos.versionが「Windows NT (unknown)」になる件” の続きを読む