2012-06-29 14 views

Respuesta

31
com.sun.javafx.runtime.VersionInfo.getRuntimeVersion(); 
+0

? ¿Hay algún producto o excepción? – assylias

+0

¿Puede usted, por favor, elaborar

javafx.runtime.version=2.0.3 

+1

No lo tengo delante de mí, pero en esencia: excepción de Classloader, no se puede cargar com.sun.javafx.runtime.VersionInfo. Y el programa no comienza. – assylias

14

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 sistema de propiedad puede causar una excepción de seguridad si una aplicación sin firma está incrustado en un navegador o acceder a través de WebStart, por lo com.sun llamado de Sergey puede ser mejor, aunque todos com.sun llamadas están en desuso y no forma parte de la API pública oficial de JavaFX.

actualización

@assylias observaciones sobre la respuesta de Sergey parecería indicar que Sergey com.sun puede provocar una excepción de seguridad si una aplicación sin firma está incrustado en un navegador o acceder a través de WebStart. Entonces, tal vez no haya una buena solución para determinar la versión de tiempo de ejecución de javafx cuando se ejecuta bajo esas condiciones específicas.

+0

Esto no funciona en un applet de espacio aislado debido a la falta de permisos. La versión ligeramente modificada 'System.getProperty (" javafx.runtime.version ")' tampoco funciona con este error: 'java.security.AccessControlException: access denied (" java.util.PropertyPermission "" javafx.runtime.version " "leer") ' –

36

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 liado con ella es v2.0.3 lo que el archivo antes mencionado contiene la siguiente línea:

no parece trabajar a través de web de Java empezar
+0

Instalé Java 1.8.0-31 y obtengo' javafx.runtime.version = 8.0.31'. ¿Es esto correcto? – Brian

+1

Sí, lo es. Java 1.8.0 tiene JavaFX 8 incluido. – DejanLekic

Cuestiones relacionadas