質問: Java 8 を用いた実行可能jarを配布したいのですが、ユーザーのJavaが7以前であるときに、Java 8のダウンロードを促すメッセージを出したいのですが、このjarファイルを介してそのようなことは可能でしょうか? 別にソフトウエアを用意する必要があるのでしょうか?
回答: Javaのバージョンを取得するシステムプロパティはいくつか種類があります。 1. `java.version` 2. `java.specification.version` 3. `java.vm.version` 4. `java.runtime.version` 取得する方法は単純で、例えば以下のようなコードを実行するだけです。 ``` String version = System.getProperty("java.specification.version"); ``` 手元の環境(Windows10/Java8)で試したところ、それぞれ以下のような値が取得できました。 ``` java.version : 1.8.0_51 java.specification.version : 1.8 java.vm.version : 25.51-b03 java.runtime.version : 1.8.0_51-b16 ``` Java8かどうかだけを判定したいのであれば、`java.specification.version`の値をチェックするのが手っ取り早いでしょう。脆弱性の判定などのために細かいバージョンもチェックが必要ということであれば`java.version`か `java.runtime.version`を見ればよいと思います。 なお、環境や使用されているvmによっては上記のプロパティが存在せずに取得できない場合があるかもしれませんので、戻り値のnullチェックは忘れずに。