Подтвердить что ты не робот

Как получить номер версии JavaFX?

Как я могу узнать во время выполнения, какую версию JavaFX я использую?

4b9b3361

Ответ 1

com.sun.javafx.runtime.VersionInfo.getRuntimeVersion();

Ответ 2

Один из простых способов - просто прочитать файл javafx.properties, расположенный в вашем каталоге $JAVA_HOME/jre/lib.

У меня установлена ​​Java 1.7 u9. JavaFX в комплекте с ним v2.0.3, поэтому вышеупомянутый файл содержит следующую строку:

javafx.runtime.version=2.0.3

Ответ 3

Вы можете получить номер 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, поэтому вызов Sergey com.sun может быть лучше, даже если все вызовы com.sun являются устаревшими и не являются частью официального публичного API JavaFX.

Update

Комментарии @assylias по поводу ответа Сергея, похоже, указывают на то, что Sergey com.sun может вызвать исключение безопасности, если неподписанное приложение встроено в браузер или доступно через WebStart. Поэтому, возможно, нет хорошего решения для определения версии исполнения javafx при работе в этих конкретных условиях.