1. ホーム
  2. java

[解決済み] 実行時にJavaのバージョンを取得する

2022-04-28 13:47:44

質問

JDK1.5のJavaのバグが1.6で修正されたので、それを回避する必要があります。次のような条件で使っています。

if (System.getProperty("java.version").startsWith("1.5.")) {
    ...
} else {
    ...
}

これは他のJVMでも動作するのでしょうか?これを確認する良い方法はありますか?

どのように解決するのですか?

これらの記事では 1.5 または 1.6 接頭辞は、適切なバージョンの命名規則に従っているため、動作するはずです。

サンの技術記事

  • J2SE SDK/JRE バージョン文字列の命名規則
  • バージョン1.5.0か5.0か?
    • J2SE では、開発者だけが見ることができる場所や、プログラムによってバージョン番号が解析される場所において、バージョン番号 1.5.0 (または 1.5) を保持しています。
      • "です。 java.version システムプロパティ"
  • 開発者が使用するバージョン1.6.0
    • Java SEは、開発者だけが見ることができる場所や、プログラムでバージョン番号が解析される場所で、バージョン番号1.6.0(または1.6)を保持しています"
      • "です。 java.version システムプロパティ"