Recientemente he empezado a notar que la siguiente advertencia al iniciar mi aplicación JavaFX:

ADVERTENCIA: Carga de FXML documento con JavaFX API de la versión 8.0.65 por JavaFX tiempo de ejecución de la versión 8.0.60

La FXML en cuestión fue creado por Gluon Escena Generador de 8.1.0, corriendo con los que está incluido Java, versión 1.8.0_65. La aplicación es lanzada con mi sistema operativo Java, versión 1.8.0_72.

El nodo raíz de la FXML tiene el atributo

xmlns="http://javafx.com/javafx/8.0.65"

pero pensé 1.8.0_72 > 1.8.0_65, así que ¿por qué estoy recibiendo este mensaje?
Es algo que debería estar preocupado? Y hay una manera de pedir el jre ¿cuál es la JavaFX versión de la API (que, al parecer, no es la misma que la versión de Java)?

Edición:

Ejecutando el código James_D sugirió nos da los siguientes resultados:

versión de java: 1.8.0_72-interno

javafx.versión: 8.0.60

Así, se parece a la versión de JavaFX en el JDK está mal? O tal vez tengo una edad jfxrt.jar? Voy a echarle un vistazo a eso.

  • Trate de System.out.println("java version: "+System.getProperty("java.version")); y System.out.println("javafx.version: " + System.getProperty("javafx.version"));. Casi sin duda no será el mismo, así que tal vez no se ejecuta con el sistema operativo, la versión de Java que usted piensa que usted es.
  • Ellos son, de hecho, no es el mismo. He editado mi pregunta. Sospecho que desde javafx todavía viene en un paquete separado en Debian que de alguna manera no se actualizó.
  • Ah, sí, está en el uso de open JDK (supongo), así que JavaFX es un paquete independiente. Parece que tienes una versión antigua de JavaFX. Así que no sé de cualquier FXML que es específico para u65 más de u60, pero en general creo que se debe, probablemente, a ejecutar con una versión al menos tan nuevo como el de la versión con la que se construyó. Me gustaría seguir adelante y llevar su JavaFX versión actualizada con la versión de Java, si es posible.
  • Actualmente la openjfx el paquete está en la versión 8u60, por lo que la actualización significaría la construcción de la fuente, de la cual soy reacio a hacer. Hay una cierta discusión aquí, pero estoy realmente confundido en cuanto a por qué son dos paquetes separados (y por qué el OpenJFX uno no se ha actualizado).
InformationsquelleAutor Itai | 2016-02-04

8 Comentarios

  1. 39

    Si usa el formulario:

    xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"

    El control de versiones es ignorado. Usted sólo necesita si usted tuvo algún problema de compatibilidad con otra versión.

    • No entiendo la negetive votar a favor de esta respuesta – exactamente esto funcionó para mí! La entrada «xmlns:fx=»javafx.com/fxml/1» no me han tocado.
    • Gracias, esto me salvó un poco de trabajo !
  2. 7

    Creo que su JDK versión es 1.8.0_60 y JRE versión es 1.8.0_65.

    Por lo que debe utilizar la misma versión para dos de ellos.

    Usted puede revisar su actual JDK y JRE versiones sobre su símbolo del sistema respectivamente,

    java -version
    javac -version

    o usted puede ir a través de las propiedades del Sistema utilizando la siguiente código java,

    System.out.println(System.getProperties());
  3. 4

    Tengo ese problema también. Me las arreglé para cambiar de línea en *.fxml archivos:

    javafx/8.0.171 -> javafx/8.0.141

    Anteriormente fue como este, es una línea en el comienzo de la fxml de archivo:

    <AnchorPane prefHeight="300.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.171" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.application.word.view.LoginController">

    Luego me lo cambiaron por:

    <AnchorPane prefHeight="300.0" prefWidth="600.0" xmlns="http://javafx.com/javafx/8.0.141" xmlns:fx="http://javafx.com/fxml/1" fx:controller="com.application.word.view.LoginController">

    Y funciona sin ningún problema. Pero hay que tener cuidado de que puede ser diferente si utiliza diferentes jdk generaciones.

  4. 1

    Yo tenía el mismo problema.
    No sé qué IDE ustedes se están ejecutando, pero me fijo en Eclipse.

    Dentro de explorador de proyectos en el lado derecho de JRE Sistema de Biblioteca mostraba [J2SE-1.5].
    Me clic con el botón derecho JRE Sistema de Biblioteca, fue en Propiedades.
    Pasó de Ejecución Environement a espacio de trabajo predeterminado entorno.

    Si dentro de espacio de trabajo predeterminado entorno soportes de no mostrar su más reciente jdk versión, por ejemplo. (jdk1.8.0_192) su puede cambiar mediante la selección de Instalado Jre botón de conmutación y comprobado JRE.

    Si el jdk no está en la lista de agregar con AGREGAR botón y elija su JDK directorio, por ejemplo. C:\Program Files\Java\jdk1.8.0_192, como directorio de inicio.

    En el caso de que, por alguna razón, usted no desea cambiar la opción predeterminada entorno de escoger sólo JRE Alternativo en lugar de espacio de trabajo predeterminado JRE. Luego elija la derecha SDK desde el menú desplegable.

    PS. Sí, se puede cambiar la versión de bajo xmlns opción dentro de su archivo fxml, pero usted tendrá que actualizar cada vez que modifique su fxml dentro de la Escena del Generador.

  5. 1

    Yo también tenía samme problema que me estaba cargando mi archivo fxml
    ADVERTENCIA: Carga de FXML documento con JavaFX API de la versión 8.0.171 por JavaFX tiempo de ejecución de la versión 8.0.111
    luego fui al sitio web de oracle y actualización de la jre hasta 171 actualización de java 8.0
    JavaFX FXML versión de la API de advertencia

  6. 0

    Tuve el mismo problema en Linux con Intellij IDEA. He solucionado el problema instalando el más reciente de Oracle JDK, y proporcionar su camino en la IDEA del «Proyecto Sturucture» menú de configuración:

    Archivo/Proyecto Sturucture/Configuración De La Plataforma/SDKs

  7. 0

    Tuve el mismo problemas pero lo resuelto por la que atraviesa este pasos

    Si usted está usando Intellij IDEA de ir a Archivo -> Estructura del Proyecto -> SDKs y haga clic en el signo ( – ) para quitar todas las otras JDK que tienen antes de que, a continuación, haga clic en el signo ( + ) para agregar el nuevo JDK para el proyecto de usted C:\Program Files (x86)\Java\jdk1.8.0_172.

  8. -1

    Mismo era para mí. como usted ha mencionado la escena builder versión 8.1.0, mientras que su versión de Javafx es 8.0.60. también son diferentes:)
    de dos vías para solucionar este

    • desinstalar escena actual del generador e instalar el uno con la misma versión de su Javafx
    • cada vez que se edita un archivo FXML ambiente de uso de generador de cambio xmlns propiedad en su cabecera a su versión de Javafx

    por ejemplo mi javafx es la versión 9.0.1, mientras que yo uso escena generador de 10.0.1 pero después de la edición en escena generador puedo cambiar

    xmlns="http://javafx.com/javafx/9.0.1"

    a

    xmlns="http://javafx.com/javafx/9.0.1"

    de mayo propio bien 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here