JavaFX FXML version de l'API d'avertissement
J'ai récemment commencé à remarquer l'avertissement suivant lors du démarrage de mon application JavaFX:
AVERTISSEMENT: Chargement du document FXML avec l'API JavaFX de la version 8.0.65 par JavaFX runtime de la version 8.0.60
Le FXML en question a été créé par Gluon Scene Builder 8.1.0, fonctionnant avec son Java fourni, version 1.8.0_65. L'application est lancée avec mon système d'exploitation Java, version 1.8.0_72.
Le nœud racine du FXML a l'attribut
xmlns="http://javafx.com/javafx/8.0.65"
Mais J'ai pensé 1.8.0_72 > 1.8.0_65, alors pourquoi reçois - je ce message? Est-ce quelque chose dont je devrais m'inquiéter? Et existe-t-il un moyen de demander au jre quelle est la version de l'API JavaFX (qui, apparemment, n'est pas la même que la version Java)?
Modifier:
L'exécution du code suggéré par James_D donne les résultats suivants:
Version Java: 1.8.0_72-interne
javafx.version: 8.0.60
Donc, on dirait que la version JavaFX dans le JDK est fausse? Ou peut-être que j'ai un vieux jfxrt.pot? Je vais regarder à cela.
4 answers
Si vous utilisez le formulaire:
xmlns="http://javafx.com/javafx" xmlns:fx="http://javafx.com/fxml"
Le versioning est ignoré. Vous n'en auriez besoin que si vous aviez un problème de compatibilité avec une autre version.
, je pense que votre JDK
version est 1.8.0_60
et le JRE
version est 1.8.0_65
.
, Donc vous devez télécharger la même version de JDK
et JRE
.
, Vous pouvez vérifier votre actuelle java
version de votre l'invite de commande,
java -version
Ou vous pouvez parcourir les propriétés du système en utilisant le code java,
System.out.println(System.getProperties());
J'ai aussi ce problème. Je l'ai réussi juste pour changer de ligne*.fichiers fxml:
Javafx/8.0.171 -> javafx/8.0.141
Auparavant, c'était comme ça, c'est une ligne au début du fichier fxml:
<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">
, Puis je l'ai changé pour:
<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">
Et cela fonctionne sans aucun problème. Mais attention, cela peut être différent si vous utilisez différentes générations jdk.
J'ai eu le même problème sur Linux avec Intellij IDEA. Je l'ai résolu en installant le dernier Oracle JDK , et en fournissant son chemin dans le menu des paramètres "Project Sturucture" d'IDEA:
Fichier/Projet Sturucture/Paramètres De Plate-Forme/Sdk