Ich verwende Intellij Idea, um ein Projekt zu kompilieren, das Maven-Abhängigkeiten verwendet, und Intellij sagt mir ständig, dass mein Projekt 50 Fehler enthält, da JavaFX nicht vorhanden ist.
Intellij hebt nicht alle javafx-Abhängigkeiten in meinem Code als Fehler hervor. Es ist nur so, dass das Programm, sobald ich den Run drücke und kompiliere, sagt, dass nicht alles in JavaFX existiert.
Ich habe versucht, das neueste JDK (Java 9.0.1) erneut herunterzuladen, was jedoch nicht behoben wurde. Ich ging in die Default-Projektstruktur und -Projektstruktur ein, um sicherzustellen, dass die richtige Jdk verwendet wurde und das Problem nicht behoben wurde. Alle von mir verwendeten jdks scheinen die javafx-Pakete als im Projekt enthalten aufzulisten.
Dies ist auch nur ein Problem für ein bestimmtes Projekt, an dem ich mit einem Freund arbeite. Möglicherweise müssen wir unseren gesamten Code in ein neues Projekt verschieben. Ich bin mir jedoch nicht sicher, ob dadurch irgendetwas behoben wird.
Irgendwelche Vorschläge?
Versuchen Sie, unter "Projektstruktur | Projekt" das Sprachniveau des Projekts auf "9" zu setzen.
Okay, ich sehe was mein Problem war.
Neben Try to set project language level to "9" in "Project Structure | Project"
hatte ich eine Maven-Einstellung in pom.xml, die so aussieht:
<plugin>
<groupId>org.Apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>${maven-compiler-plugin.version}</version>
<configuration>
<source>${Java.version}</source>
<target>${Java.version}</target>
</configuration>
</plugin>
und Java.version
wurde irgendwo oben als 1.8
definiert. Ich musste es nur in 9
ändern.
Dieses Problem hatte ich nach dem Upgrade eines JavaFX-Projekts von Java 8 auf Java 9.
Nachdem ich die üblichen Spracheinstellungen für das Projekt und das Modul in IntelliJ und Maven Pom überprüft hatte, stellte ich fest, dass das Modul explizit so eingestellt war, dass in den Java-Compiler-Einstellungen Java 8-Bytecode generiert wurde.
Schau in Preferences -> Build, Execution, Deployment -> Compiler -> Java Compiler
. Stellen Sie sicher, dass Project bytecode version
nicht gesetzt ist (oder richtig eingestellt ist) und dass Ihr Modul nicht mit einem falschen Wert in Per-module bytecode version
aufgeführt ist.
File --> Project Structure-->Module
Das Sprachniveau hier ist für mich auf 5 eingestellt. Es wurde auf 9 gesetzt, um Klassen usw. zuzulassen, und der gleiche Fehler wie oben beschrieben wurde für mich behoben.
Ich habe die Module in meinem gradle.build vermisst. Musste aktualisieren
javafx {
version = "11"
modules = [ 'javafx.controls', 'javafx.fxml' ]
}