Ich bin über etwas wirklich rätselhaftes über System.getProperty("os.name")
gestolpert. Laut a Java bug on the matter und the Java 5 release notes (nach "os.name" suchen) gab es einen Bug in Java mit frühen "Longhorn" -Versionen von Vista, der in Version 5 behoben sein sollte.Warum Java auf einer Vista-Box meldet, dass es auf XP ist?
Allerdings auf meiner Vista SP1 Box - die Verwendung von v5 release 15 und v6 release 6 - System.getProperty("os.name")
gibt "Windows XP" zurück. Weiter System.getProperty("os.version")
gibt "5.1" zurück. Ich kann jedoch nichts über dieses Problem über Google finden. Das lässt mich fragen, ob es etwas seltsam mit meinem Vista-Setup ist. Ich habe versucht, die GetVersionEx() API-Funktion von einem Test-C-Programm aufrufen und es gibt Hauptversion 6, Minor 0 (wie ich für eine Vista-Installation erwarten würde).
Hat jemand anderes dieses Problem kennengelernt, einen Fix kennen oder Vorschläge dazu haben, wie ich ohne JNI umgehen könnte?
Dies half mir herauszufinden, warum unser Produkt die falschen Werte zurückgegeben hat. Der Java-Bug, in 6u14 behoben ... schade, wir versenden immer noch mit 6u13 = D – GreenKiwi