Je suis sur Fedora Workstation 40, mais des étapes similaires fonctionneraient sur la plupart des principales distributions Linux comme Ubuntu/Mint, etc.
Sur certaines distributions Linux, Java est installé par défaut ; cependant il s'agit juste du JRE et non du JDK. Vous pouvez le vérifier car la commande java est trouvée mais la commande javac n'est PAS trouvée.
java # would show manual of arguments javac # would give not found error if JDK not installed
java --version # OR "java -version" for older java javac --version
Référez-vous à ces articles pour connaître les différences entre JDK, JRE et JVM :
Dans Fedora, les JRE/JDK sont stockés dans /usr/lib/jvm. Vous pouvez donc consulter son contenu ou l'interroger comme :
find /usr/lib/jvm -name java find /usr/lib/jvm -name javac
Je suis sur Fedora 40 où le gestionnaire de paquets est dnf. Vous installeriez l'OpenJDK de votre choix via le gestionnaire de paquets de votre distribution Linux respective (comme apt pour Ubuntu/Debian) :
dnf search jdk
Vous obtiendrez une liste des packages disponibles à installer ayant différentes versions Java ainsi que le suffixe de variante dans le package. Les variantes sans tête incluent généralement simplement le JRE. Pour installer le JDK complet avec tous les outils nécessaires au développement Java, nous avons besoin de la variante de développement du package, contenant généralement le suffixe du terme -devel dans le nom de dnf. Voici une liste de quelques noms de variantes de packages pour Java 17 OpenJDK à partir de la sortie dnf :
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment java-17-openjdk-devel-fastdebug.x86_64 : OpenJDK 17 Development Environment optimised with full debugging on java-17-openjdk-devel-slowdebug.x86_64 : OpenJDK 17 Development Environment unoptimised with full debugging on java-17-openjdk-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment java-17-openjdk-headless-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on java-17-openjdk-headless-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation java-17-openjdk-portable.x86_64 : OpenJDK 17 Runtime Environment portable edition java-17-openjdk-portable-devel.x86_64 : OpenJDK 17 Development Environment portable edition java-17-openjdk-portable-sources.x86_64 : OpenJDK 17 full patched sources of portable JDK java-17-openjdk-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on java-17-openjdk-src.x86_64 : OpenJDK 17 Source Bundle java-17-openjdk-src-fastdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and optimisation java-17-openjdk-src-slowdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and no optimisation
Sur Ubuntu, il existe des packages de moindre importance et celui que vous souhaitez installer s'appelle généralement openjdk-17-jdk pour l'ensemble des outils JDK
# Installing the latest OpenJDK with optimized debugging sudo dnf install java-latest-openjdk-devel-fastdebug # Installing a specific version like OpenJDK 17 sudo dnf install java-17-openjdk-devel
Visitez la page de téléchargement officielle d'Oracle SE. Localisez la section de téléchargement de la version Java requise
Téléchargez le package approprié pour votre plateforme. Pour les distributions Linux basées sur RedHat comme Fedora, téléchargez le package .rpm (et .deb pour Ubuntu/Debian). Avant de télécharger, vous devrez vous connecter à Oracle et accepter les conditions
Double-cliquez sur le fichier téléchargé (comme jdk-11.0.24_linux-x64_bin.rpm) et sélectionnez Installer. Il installera et configurera le JDK Oracle.
Maintenant qu'OracleJDK est installé, vérifiez les commandes java et javac détectées
Vous pouvez également installer des JDK depuis IntelliJ lui-même :
IntelliJ détecte automatiquement vos emplacements JDK disponibles sur votre système. Vous pouvez également ajouter les emplacements de vos dossiers JDK existants tels que /usr/lib/jvm/jdk-11-oracle-x64 sous les JDK configurés dans la structure du projet
La commande update-alternatives sous Linux (également appelée simplement alternatives dans Fedora) crée, supprime, maintient et affiche des informations sur les liens symboliques comprenant le système d'alternatives.
Il est possible que plusieurs programmes remplissant des fonctions identiques ou similaires soient installés simultanément sur un même système. Un nom générique dans le système de fichiers est partagé par tous les fichiers offrant des fonctionnalités interchangeables. Le système d'alternatives permet de déterminer quel fichier réel est référencé par ce nom générique.
Références utiles :
Lorsque vous installez OpenJDK via votre gestionnaire de packages ou Oracle-JDK à partir du fichier téléchargé, les alternatives devraient automatiquement être mises à jour au cours de ce processus
java # would show manual of arguments javac # would give not found error if JDK not installed
Le résultat ressemblerait à :
java --version # OR "java -version" for older java javac --version
De même, consultez la liste des options alternatives pour javac
Si une alternative à vos commandes n'est PAS enregistrée dans la liste, vous pouvez les ajouter manuellement comme :
find /usr/lib/jvm -name java find /usr/lib/jvm -name javac
Par exemple, j'ai téléchargé le JDK JetBrains Runtime (JCEF) depuis IntelliJ, qui a été téléchargé dans le dossier ~/.jdks/jbrsdk_jcef-17.0.12/ ; mais il n'apparaissait pas dans la liste des alternatives. Je vais donc ajouter l'entrée alternative pour java et javac comme :
dnf search jdk
De même, ajoutez des alternatives pour plus de commandes comme jar, javadoc, etc. selon les besoins
Vous pouvez également ajouter des liens d'abonnés comme :
--priorité du chemin du nom du lien d'installation [--chemin du nom du lien suiveur]... [--initscript service] [--nom de la famille]
Choisissez entre les installations Java présentes
java-17-openjdk.x86_64 : OpenJDK 17 Runtime Environment java-17-openjdk-devel.x86_64 : OpenJDK 17 Development Environment java-17-openjdk-devel-fastdebug.x86_64 : OpenJDK 17 Development Environment optimised with full debugging on java-17-openjdk-devel-slowdebug.x86_64 : OpenJDK 17 Development Environment unoptimised with full debugging on java-17-openjdk-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on java-17-openjdk-headless.x86_64 : OpenJDK 17 Headless Runtime Environment java-17-openjdk-headless-fastdebug.x86_64 : OpenJDK 17 Runtime Environment optimised with full debugging on java-17-openjdk-headless-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on java-17-openjdk-javadoc.x86_64 : OpenJDK 17 API documentation java-17-openjdk-portable.x86_64 : OpenJDK 17 Runtime Environment portable edition java-17-openjdk-portable-devel.x86_64 : OpenJDK 17 Development Environment portable edition java-17-openjdk-portable-sources.x86_64 : OpenJDK 17 full patched sources of portable JDK java-17-openjdk-slowdebug.x86_64 : OpenJDK 17 Runtime Environment unoptimised with full debugging on java-17-openjdk-src.x86_64 : OpenJDK 17 Source Bundle java-17-openjdk-src-fastdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and optimisation java-17-openjdk-src-slowdebug.x86_64 : OpenJDK 17 Source Bundle for packages with debugging on and no optimisation
Le résultat ressemblerait à ci-dessous. Notez que * désigne la meilleure version disponible et indique votre sélection actuelle :
# Installing the latest OpenJDK with optimized debugging sudo dnf install java-latest-openjdk-devel-fastdebug # Installing a specific version like OpenJDK 17 sudo dnf install java-17-openjdk-devel
De même, choisissez parmi les options alternatives pour javac
Lorsque vous désinstallez/supprimez vos packages JDK, n'oubliez pas de supprimer également les entrées alternatives respectives
Par exemple, pour supprimer l'entrée alternative de la commande java du JCEF JDK :
java # would show manual of arguments javac # would give not found error if JDK not installed
Cela ne devrait pas être nécessaire si vous suivez la méthode des alternatives de mise à jour pour gérer entre les installations Java et que toutes les entrées sont complètes
Cependant, pour définir manuellement la configuration dans votre profil shell, vous pouvez procéder comme ci-dessous :
java --version # OR "java -version" for older java javac --version
find /usr/lib/jvm -name java find /usr/lib/jvm -name javac
dnf search jdk
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!