Retour à l'environnement

Installer Java, Eclipse et JavaFX sous Linux

Kubuntu et Ubuntu 24.04 : la marche à suivre complète, en ligne de commande

L'ordre est obligatoire

Java d'abord, Eclipse ensuite, JavaFX à la fin. Une étape sautée et Eclipse ne trouvera pas la bonne machine virtuelle.

Cette fiche remplace les diaporamas du cours pour les postes Linux : les diaporamas montrent les chemins Windows (C:\Librairie\java\openjfx), ici tout est en chemins Linux. Suivez les commandes de cette page, pas les captures d'écran Windows.

Chaque bloc de commandes se copie d'un simple clic.

1. Java 17 (OpenJDK)

Terminal
sudo apt update
sudo apt-get install openjdk-17-jre
sudo apt-get install openjdk-17-jdk
java -version

java -version doit répondre 17. Kubuntu 24.04 installe souvent la 21 en même temps : si c'est le cas, on choisit la 17 comme version par défaut.

sudo update-alternatives --config java
sudo update-alternatives --config javac

Dans la liste, prendre la ligne java-17-openjdk-amd64.

2. La variable JAVA_HOME

Sur Ubuntu et Kubuntu, la JDK installée par apt vit dans /usr/lib/jvm/java-17-openjdk-amd64. C'est ce chemin qu'il faut déclarer, et non celui des diaporamas, qui vise une JDK dézippée à la main.

sudo tee /etc/profile.d/java_home.sh <<'FIN'
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH
FIN

Fermer la session et la rouvrir, puis vérifier :

echo $JAVA_HOME

3. Eclipse

On télécharge Eclipse sur le site officiel :

  1. L'installateur : eclipse.org/downloads
  2. Ou le paquet tout fait : eclipse.org/downloads/packages, choisir Eclipse IDE for Java Developers puis Linux x86_64
Évitez apt install eclipse et le paquet snap : les versions offertes par les dépôts sont trop vieilles pour le cours. On prend l'archive .tar.gz du site officiel.
Avec l'installateur
cd ~/Téléchargements
tar -xzf eclipse-inst-jre-linux64.tar.gz
./eclipse-installer/eclipse-inst
Avec le paquet Java Developers
cd ~/Téléchargements
tar -xzf eclipse-java-*-linux-gtk-x86_64.tar.gz
./eclipse/eclipse

Si votre système est en anglais, le répertoire est ~/Downloads.

Workspace à créer : /home/votre-nom/workspace-archi.

4. Tester le Java dans Eclipse

Menu New -> Java Project (sans le module-info) -> New -> Class en cochant la case du main :

public class App {
    public static void main(String[] args) {
        System.out.println("coucou");
    }
}

Clic droit sur App.java -> Run As -> Java Application. Si le compilateur ne pointe pas sur 17 : clic droit sur le projet -> Properties -> Java Compiler -> 17.

5. JavaFX : le SDK

JavaFX est la librairie graphique du cours et elle n'est pas dans la JDK : il faut l'ajouter à la main. Le zip Linux testé pour le cours (openjfx 17.0.16) est ici :

Télécharger openjfx-17.0.16 pour Linux (56 Mo)
cd ~/Téléchargements
unzip openjfx-17.0.16_linux-x64_bin-sdk.zip
sudo mkdir -p /usr/lib/jvm/openjfx
sudo cp -r javafx-sdk-17.0.16/lib javafx-sdk-17.0.16/legal /usr/lib/jvm/openjfx/
ls /usr/lib/jvm/openjfx/lib

La dernière commande doit afficher les sept librairies du cours : javafx.base.jar, javafx.controls.jar, javafx.fxml.jar, javafx.graphics.jar, javafx.media.jar, javafx.swing.jar, javafx.web.jar.

6. La User Library JavaFX dans Eclipse

  1. Clic droit sur le projet -> Properties -> Java Build Path -> onglet Libraries
  2. Add Library -> User Library -> bouton User Libraries -> New
  3. Nommer la librairie JavaFX
  4. Add External JARs et prendre tous les .jar de /usr/lib/jvm/openjfx/lib
L'orthographe JavaFX avec ses majuscules est obligatoire : les projets du cours cherchent ce nom exact.

Dépannage

JavaFX ne démarre pas (erreur de module-path)

Run -> Run Configurations -> onglet Arguments -> VM arguments :

--module-path /usr/lib/jvm/openjfx/lib --add-modules=javafx.controls,javafx.fxml
ERROR: JAVA_HOME is not set

Refaire l'étape 2, puis fermer et rouvrir la session : le fichier de /etc/profile.d/ n'est lu qu'à l'ouverture.

La fenêtre JavaFX ne s'affiche pas

Avant tout diagnostic : regardez votre deuxième écran. Neuf fois sur dix, la fenêtre s'y est ouverte.

Des avertissements au démarrage de Mirador

Unsupported JavaFX configuration: classes were loaded from unnamed module et le message sur la version 20.0.1 des FXML sont normaux : l'application démarre quand même. Par contre A restricted method in java.lang.System has been called signale une JDK 24 : reprenez l'étape 1, le cours exige la 17.

Le noyau Linux se met à jour tout seul

Le cours vise le noyau 6.14 : voir la fiche Le noyau Linux du cours.

Récapitulatif des commandes

Étape Commande
Installer la JDK 17 sudo apt-get install openjdk-17-jdk
Vérifier la version java -version
Choisir la 17 par défaut sudo update-alternatives --config java
Vérifier JAVA_HOME echo $JAVA_HOME
Déployer le SDK JavaFX sudo cp -r javafx-sdk-17.0.16/lib javafx-sdk-17.0.16/legal /usr/lib/jvm/openjfx/
Vérifier les librairies ls /usr/lib/jvm/openjfx/lib

Ressources

Guide de l'environnement (les quatre étapes) Téléchargements du cours Le noyau Linux du cours Accueil du cours Installer PostgreSQL sous Linux (site Données)