나는 System.getProperty("os.name")
과 관련하여 정말로 수수께끼 같은 무언가를 발견했습니다. a Java bug on the matter과 the Java 5 release notes ("os.name"으로 검색)에 따르면 v5 릴리스 10에서 수정 된 초기 "longhorn"버전의 Java 버그가있었습니다.Vista 상자에있는 Java가 XP에 있다고보고하는 이유는 무엇입니까?
그러나 내 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를 사용하지 않고도 문제를 해결할 수있는 방법을 제안 했습니까?
이렇게하면 Google 제품이 잘못된 값을 반환하는 이유를 분류하는 데 도움이되었습니다. 6u14에서 수정 된 자바 버그 ... 너무 나쁘다. 6u13 = D – GreenKiwi