it-swarm.com.de

Warnung zur JavaFX-FXML-API-Version

Ich habe vor kurzem die folgende Warnung beim Starten meiner JavaFX-Anwendung bemerkt: 

WARNUNG: Laden eines FXML-Dokuments mit der JavaFX-API der Version 8.0.65 durch die JavaFX-Laufzeit der Version 8.0.60

Die betreffende FXML wurde von Gluon Scene Builder 8.1.0 erstellt und läuft mit Java (Version 1.8.0_65). Die Anwendung wird mit meinem Betriebssystem Java, Version 1.8.0_72, gestartet. 

Der Wurzelknoten der FXML hat das Attribut

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

aber ich dachte mir 1.8.0_72> 1.8.0_65, warum erhalte ich diese Nachricht? Ist es etwas, um das ich mir Sorgen machen sollte? Und gibt es eine Möglichkeit, die jre nach der JavaFX-API-Version zu fragen (die anscheinend nicht mit der Java-Version identisch ist)?

Bearbeiten:
Das Ausführen des von James_D vorgeschlagenen Codes führt zu folgenden Ergebnissen: 

Java-Version: 1.8.0_72-intern
javafx.version: 8.0.60

Also, sieht die JavaFX-Version im JDK falsch aus? Oder vielleicht habe ich eine alte jfxrt.jar? Ich werde das untersuchen. 

25
Itai

Wenn Sie das Formular verwenden:

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

Die Versionierung wird ignoriert. Sie würden es nur brauchen, wenn Sie ein Kompatibilitätsproblem mit einer anderen Version hatten.

20
sproketboy

Ich denke, Ihre JDK-Version ist 1.8.0_60 und die JRE-Version ist 1.8.0_65.

Sie sollten also dieselbe Version von JDK und JRE herunterladen.

Sie können Ihre aktuelle Java-Version in Ihrercommand-Eingabeaufforderung, überprüfen.

Java -version

oder Sie können die Systemeigenschaften mit demJava-Codedurchgehen.

System.out.println(System.getProperties());
5
Shekhar Rai

Ich habe auch dieses Problem. Ich habe es nur geschafft, Zeilen in * .fxml-Dateien zu ändern:

javafx/8.0.171 -> javafx/8.0.141

Zuvor war es so, es ist eine Zeile am Anfang der fxml-Datei:

<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">

Dann habe ich es geändert für:

<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">

Und es funktioniert problemlos. Beachten Sie jedoch, dass es anders sein kann, wenn Sie verschiedene Jdk-Generationen verwenden.

2

Ich hatte dasselbe Problem ... Ich weiß nicht, was IDE Sie ausführen, aber ich habe es bei Eclipse behoben.

Im project Explorer auf der rechten Seite der JRE-Systembibliothek wurde [J2SE-1.5] .. angezeigt. Ich klickte mit der rechten Maustaste auf JRE-Systembibliothek und ging in Properties . Umstellung von Ausführungsumgebung auf Workspace-Standardumgebung.

Wenn die Standardumgebungsumgebung in workspace in eckigen Klammern steht, wird die neueste Jdk-Version nicht angezeigt, z. (jdk1.8.0_192) Sie können dies ändern, indem Sie die Schaltfläche Installed JREs wählen und die aktivierte JRE-Funktion aktivieren.

Wenn Ihr jdk nicht in der Liste steht, fügen Sie es mit der Schaltfläche ADD hinzu und wählen Sie Ihr JDK-Verzeichnis aus. C:\Programme\Java\jdk1.8.0_192 als Ausgangsverzeichnis.

Falls Sie Ihre Standardumgebung aus irgendeinem Grund nicht ändern möchten, wählen Sie Alternate JRE anstelle von Workspace-Standard-JRE aus. Wählen Sie dann das rechte SDK aus dem Dropdown-Menü.

PS. Ja, Sie können die Version unter der Option xmlns in Ihrer fxml-Datei ändern. Sie müssen jedoch den Eintrag jedes Mal aktualisieren, wenn Sie Ihre fxml im Scene Builder ändern.

1

Ich hatte die gleichen Probleme, aber ich habe es gelöst, indem ich diese Schritte durchgegangen bin

Wenn Sie Intellij IDEA verwenden, gehen Sie zu File -> Project Structure -> SDKs und klicken Sie auf das (-) - Zeichen , um alle anderen vorhandenen JDKs zu entfernen. Klicken Sie dann auf das ( +) sign , um das neue JDK zum Projekt von Ihnen hinzuzufügen C:\Programme (x86)\Java\jdk1.8.0_172 .

Ich hatte das gleiche Problem unter Linux mit Intellij IDEA. Ich habe das Problem gelöst, indem ich das latest Oracle JDK installiert habe und den Pfad im IDEA-Einstellungsmenü "Project Sturucture" angegeben habe:

Datei/Projektstruktur/Plattformeinstellungen/SDKs

0
Sergey