web-dev-qa-db-fra.com

Comment ajouter le runtime JavaFX à Eclipse dans Java 11?

Le message d'erreur suivant s'affiche: Java 11 a exclu JavaFX de la dernière version.

Error: JavaFX runtime components are missing, and are required to run
this application

Alors, comment puis-je ajouter JavaFX à Eclipse dans Java 11? Merci.

12
user3520615

Suivant le Getting Started Guide , voici les étapes nécessaires à l'exécution de JavaFX 11 à partir d'Eclipse.

1 Installez Eclipse 2018-09 à partir de ici .

2 Installez JDK 11 à partir de ici .

3 Ajoutez Java 11 en tant que JRE installé à Eclipse: Eclipse -> Fenêtre -> Préférences -> Java -> JRE installés -> Ajouter.

4 Téléchargez JavaFX 11 ea à partir de ici .

5 Créez une bibliothèque utilisateur: Eclipse -> Fenêtre -> Préférences -> Java -> Chemin de construction -> Bibliothèques utilisateur -> Nouveau. Nommez-le JavaFX11 et incluez les fichiers JAR dans le dossier lib de JavaFX 11-ea.

6 Créez un projet Java. Vous n'avez pas besoin d'ajouter une classe de chemin de module. Assurez-vous de sélectionner Java 11 et d’ajouter la bibliothèque JavaFX11 au chemin modulepath du projet.

7 Ajoutez un package javafx11 et la classe d'application principale HelloFX:

package javafx11;

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;


public class HelloFX extends Application {

    @Override
    public void start(Stage stage) {
        String version = System.getProperty("Java.version");
        Label l = new Label ("Hello, JavaFX 11, running on "+version);
        Scene scene = new Scene (new StackPane(l), 300, 200);
        stage.setScene(scene);
        stage.show();
    }

    public static void main(String[] args) {
        launch();
    }

}

Notez que l'éditeur ne devrait pas se plaindre des classes JavaFX, car nous avons inclus la bibliothèque utilisateur.

8 Ajoutez des arguments d'exécution. Modifiez la configuration d'exécution du projet et ajoutez ces arguments VM:

--module-path C:\Users\<user>\Downloads\javafx-sdk-11\lib --add-modules=javafx.controls

9 Enfin, exécutez le projet. Cela devrait bien fonctionner.

14
José Pereda

@ José Pereda a parfaitement raison, tout fonctionne comme il se doit. Je l'ai testé avec la version Eclipse 2018-12. Donc, après avoir téléchargé le IDE ( https://www.Eclipse.org/downloads/packages/release/2018-12/r/Eclipse-ide-Java-developers ) et installé le (fx) clipse, vous devriez pouvoir créer un élément "Projet JavaFx" dans votre espace de travail.

L'étape suivante consiste à supprimer le "JavaFX SDK" du module "Classpath" (Propriétés -> Chemin de construction Java -> Bibliothèques) et à ajouter la dépendance Maven afin de supprimer les erreurs de compilation:

<dependency>
   <groupId>org.openjfx</groupId>
   <artifactId>javafx-controls</artifactId>
   <version>11.0.1</version>
</dependency>

JavaFX SDK pour suppression

La dernière étape consiste à ajouter un argument VM à "Run Configuration" de votre classe JavaFX pour le démarrage de l'application (Run Configurations -> onglet Arguments -> arguments VM):

--module-path C:\path to the OpenJFX\javafx-sdk-11.0.1\lib --add-modules=javafx.controls

et cela devrait fonctionner après l'avoir exécuté. Bien sûr, vous devez télécharger le SDK JavaFX avant cela ( https://gluonhq.com/products/javafx/ ), le décompresser et utiliser le chemin du dossier "lib" dans l'argument VM susmentionné. .

0
Aleksander Radovan