Ich habe versucht, eine JavaFX- Anwendung in IntelliJ Idea IDE zu erstellen, habe jedoch einen Kompilierungsfehler erhalten, der Folgendes besagt:
java: Paket javafx.application existiert nicht.
Ich habe das Project SDK und die Project Language Level auf Java 8 geändert, das Projekt neu geladen, aber es hat nicht geholfen. Dann habe ich überprüft, ob das JavaFX-Plugin in den Einstellungen aktiviert war.
Die Suche bei Google und StackOverflow hat mir keine weiteren Ideen gegeben, was falsch ist. Vielen Dank für jede Hilfe im Voraus.
PS Ich verwende IntelliJ Idea 14.0 mit java8.1.0_25 unter Archlinux OS.
java
intellij-idea
javafx
rob111
quelle
quelle
Antworten:
Wie hier angegeben , ist JavaFX nicht mehr in openjdk enthalten.
Überprüfen Sie also, ob Sie
<Java SDK root>/jre/lib/ext/jfxrt.jar
auf Ihrem Klassenpfad unter habenProject Structure -> SDKs -> 1.x -> Classpath
? Wenn nicht, könnte das der Grund sein. Versuchen Sie es hinzuzufügen und prüfen Sie, ob dies Ihr Problem behebt, z. B. unter Ubuntu. Installieren Sie dann das openjfx-Paket mitsudo apt-get install openjfx
.quelle
Dies sollte Ihre perfekte Lösung sein. Versuchen und genießen. Wenn ein Befehl nicht ordnungsgemäß funktioniert, versuchen Sie, ihn selbst zu beheben, wenn Sie einen Fehler erhalten. Ich habe dir die Hauptsache gegeben, die du brauchst. Wenn sich Ihre Anwendung an einem anderen Speicherort befindet oder Ihre Systemarchitektur anders ist, lösen Sie sie selbst. Es ist sehr einfach, das zu tun. Folgen Sie einfach meiner gegebenen Lösung.
Schritt 0:
sudo apt-get install openjdk-8-jre
Schritt 1
Schritt 2:
sudo cp /usr/share/java/openjfx/jre/lib/ext/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
Schritt 3:
sudo cp /usr/share/java/openjfx/lib/* /usr/lib/jvm/java-1.8.0-openjdk-amd64/lib
Schritt 4:
sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64
Öffnen Sie jetzt ein neues Projekt oder erstellen Sie Ihr Projekt neu. Viel Glück.
quelle
sudo chmod 777 -R /usr/lib/jvm/java-1.8.0-openjdk-amd64
ist eine schlechte Idee! Tu es nicht!ls -lha
wird das zeigen.Sie können die mit IntelliJ gelieferte verwenden :
<intellij>/jre64/lib/ext/jfxrt.jar
.quelle
Sie müssen das Paket java-openjfx von den offiziellen Arch Linux-Repos herunterladen. (Stellen Sie außerdem sicher, dass Sie das Paket openjdk8-openjdk haben). Öffnen Sie anschließend Ihr Projekt in Intellij und gehen Sie zu Projektstruktur -> SDKs -> 1.8 -> Klassenpfad. Entfernen Sie das alte JDK und klicken Sie auf das Verzeichnis für das neue JDK, das jetzt jfxrt.jar enthält.
quelle
Möglicherweise haben Sie ein niedrigeres Projektsprachniveau als Ihr JDK.
Überprüfen Sie, ob: "Projektstruktur / Projekt / Projekt-> Sprachniveau" niedriger als Ihr JDK ist. Ich hatte das gleiche Problem mit JDK 9 und die Sprachstufe war standardmäßig auf 6 eingestellt.
Ich habe die Projektsprachenstufe auf 9 gesetzt und danach hat alles gut funktioniert.
Möglicherweise haben Sie das gleiche Problem.
quelle
Eine andere Möglichkeit, das Problem zu beheben: Klicken Sie mit der linken Maustaste auf den Projektordner in der Projektstruktur links und klicken Sie in der Liste der Aktionen auf "Moduleinstellungen öffnen". Klicken Sie in den neuen Fenstern im Menü auf SDKs Titel "Plattformeinstellungen" Überprüfen Sie dann in der Liste "Klassenpfad", ob Sie den Pfad des jfxrt-Plugins finden. Wenn nicht, klicken Sie auf das Symbol + rechts und wählen Sie das Repertoire des jfxrt-Plugins aus (C: \ Programme \ Java \ jdk1.8.0 \ jre \ lib \ ext \ jfxrt.jar auf meinem Desktop)
quelle
Beispiel für eine Java-Anwendung:
Ich poste meine Antwort von einer anderen Frage hier, da sie verwandt ist und auch das Problem in der Frage zu lösen scheint.
Hier ist mein Beispielprojekt mit OpenJDK 12, JavaFX 12 und Gradle 5.4
Ich hoffe, jemand findet das Github-Projekt nützlich.
Anleitung für den Scala- Fall:
Im Folgenden finden Sie außerdem Anweisungen, die mit dem Gradle Scala- Plugin funktionieren, aber anscheinend nicht mit Java funktionieren . Ich lasse dies hier, falls jemand anderes auch Scala, Gradle und JavaFX verwendet.
1) Wie in der Frage erwähnt, muss das JavaFX Gradle-Plugin eingerichtet werden. Open JavaFX verfügt über eine ausführliche Dokumentation dazu
2) Zusätzlich benötigen Sie das JavaFX SDK für Ihre Plattform, das irgendwo entpackt ist. HINWEIS: Stellen Sie sicher, dass Sie nach unten zum Abschnitt " Neueste Versionen" scrollen, in dem sich JavaFX 12 befindet (LTS 11 steht aus irgendeinem Grund an erster Stelle.)
3) Gehen Sie dann in IntelliJ zu
File -> Project Structure -> Libraries
, drücken Sie die ➕-Taste und fügen Sie denlib
Ordner aus dem entpackten JavaFX SDK hinzu.Weitere Anweisungen mit Screenshots finden Sie in den hervorragenden Open JavaFX-Dokumenten für IntelliJ. Ich kann keinen Deep Link zum Laufen bringen. Wählen Sie also
JavaFX and IntelliJ
und dannModular from IDE
in der Dokumentennavigation aus. Scrollen Sie dann nach unten zu Schritt3. Create a library
. Überprüfen Sie auch die anderen Schritte, wenn Sie Probleme haben.Es ist schwer zu sagen, ob dies genau die gleiche Situation wie in der ursprünglichen Frage ist, aber es sah ähnlich genug aus, dass ich hier gelandet bin, also füge ich meine Erfahrung hier hinzu, um anderen zu helfen.
quelle
In IntelliJ Idea,
Überprüfen Sie, ob die folgenden Dinge richtig konfiguriert sind:
Schritt 1:
Datei -> Einstellungen -> Plugins -> javafx durchsuchen und sicherstellen, dass es aktiviert ist.
Schritt 2: Projektstruktur (Strg + Umschalt + Alt + s)
Plattformeinstellungen -> SDKs -> 1.8 -> Stellen Sie sicher, dass Classpath "jre \ lib \ ext \ jfxrt.jar" enthält.
Schritt 3:
Projekteinstellungen -> Projekt -> Projekt-SDK - sollten ausgewählt sein 1.8
Projekteinstellungen -> Projekt -> Projektsprachenebene - konfiguriert als 8
Ubuntu: Wenn Sie jfxrt.jar nicht in Ihren SDKs gefunden haben, installieren Sie sudo apt-get install openjfx
quelle
Ich hatte das gleiche Problem , in meinem Fall habe ich es gelöst durch :
1) Gehen Sie zu Datei -> Projektstruktur ----> Globale Bibliotheken. 2) Suchen Sie nach jfxrt.jar, das standardmäßig in jdk1.8.0_241 \ lib enthalten ist (nach der Installation). 3) Klicken Sie oben links auf +, um es hinzuzufügen neue globale Bibliothek und ich habe den Pfad meines jdk1.8.0_241 angegeben. Beispiel: (C: \ Programme \ Java \ jdk1.8.0_241).
ich hoffe, dies wird dir helfen
quelle