Как я могу узнать во время выполнения, какую версию JavaFX я использую?
Как получить номер версии JavaFX?
Ответ 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 при работе в этих конкретных условиях.