41

実行時に、使用しているJavaFXのバージョンを確認するにはどうすればよいですか?

4

3 に答える 3

44

簡単な方法の1つはjavafx.properties、ディレクトリにあるファイルを読み取ることです$JAVA_HOME/jre/lib

現在、Java1.7u9をインストールしています。バンドルされているJavaFXはv2.0.3であるため、上記のファイルには次の行が含まれています。

javafx.runtime.version=2.0.3
于 2012-12-04T14:11:19.557 に答える
39
com.sun.javafx.runtime.VersionInfo.getRuntimeVersion();
于 2012-06-29T18:26:49.087 に答える
21

javafx.runtime.version番号はシステムプロパティから取得できます。

import javafx.application.Application;
import javafx.stage.Stage;
public class ReportVersion extends Application {
  public static void main(String[] args) { launch(args); }
  @Override public void start(Stage stage) {
    System.out.println("javafx.runtime.version: " + System.getProperties().get("javafx.runtime.version"));
    System.exit(0);
  }
}

署名されていないアプリケーションがブラウザに埋め込まれている場合、またはWebStartを介してアクセスされている場合、システムプロパティアクセスメソッドによってセキュリティ例外が発生する可能性があるためcom.sun、すべてのcom.sun呼び出しが非推奨であり、公式のJavaFXパブリックAPIの一部ではない場合でも、Sergeyの呼び出しの方が適している場合があります。

アップデート

Sergeyの回答に対する@assyliasのコメントはcom.sun、署名されていないアプリケーションがブラウザに埋め込まれている場合、またはWebStartを介してアクセスされている場合、Sergeyがセキュリティ例外を引き起こす可能性があることを示しているようです。したがって、これらの特定の条件下で実行する場合、javafxランタイムバージョンを決定するための適切な解決策はおそらくありません。

于 2012-06-29T20:27:22.283 に答える