Cómo obtener el número de versión de JavaFX?


¿Cómo puedo saber en tiempo de ejecución qué versión de JavaFX estoy usando?

Author: Jacob Schoen, 2012-06-29

3 answers

com.sun.javafx.runtime.VersionInfo.getRuntimeVersion();
 32
Author: Sergey Grinev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-29 18:26:49

Una de las formas simples es simplemente leer el archivo javafx.properties ubicado en su directorio $JAVA_HOME/jre/lib.

Tengo Java 1.7 u9 instalado en este momento. JavaFX incluido con él es v2. 0. 3 por lo que el archivo mencionado anteriormente contiene la siguiente línea:

javafx.runtime.version=2.0.3
 38
Author: DejanLekic,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-29 12:39:07

Puede obtener el número javafx.runtime.version de una propiedad del sistema.

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);
  }
}

Tenga en cuenta que el método de acceso a la propiedad del Sistema puede causar una excepción de seguridad si una aplicación sin firmar está incrustada en un navegador o se accede a través de WebStart, por lo que la llamada com.sun de Sergey puede ser mejor a pesar de que todas las llamadas com.sun están obsoletas y no forman parte de la API pública oficial de JavaFX.

Actualización

@assylias comentarios sobre la respuesta de Sergey parecen indicar que Sergey com.sun puede causar una excepción de seguridad si una aplicación sin firmar está incrustada en un navegador o se accede a ella a través de WebStart. Así que tal vez no hay una buena solución para determinar la versión de tiempo de ejecución de javafx cuando se ejecuta bajo esas condiciones específicas.

 14
Author: jewelsea,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-02-02 02:21:29