suchen
HeimJavajavaLernprogrammDie bevorzugte Methode zum Installieren und Verwalten von Java JDKs unter Linux

The preferred way to install and manage Java JDKs on Linux

Ich verwende Fedora Workstation 40, aber ähnliche Schritte würden auf den meisten großen Linux-Distributionen wie Ubuntu/Mint usw. funktionieren

Überprüfen Sie die vorhandene Java-Installation

Auf einigen Linux-Distributionen ist Java standardmäßig installiert. Es handelt sich jedoch nur um die JRE und nicht um das JDK. Sie können dies überprüfen, indem der Java-Befehl gefunden wird, der Javac-Befehl jedoch NICHT gefunden wird.

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

Lesen Sie diese Artikel, um die Unterschiede zwischen JDK, JRE und JVM zu erfahren:

  • Java Programming Environment und Java Runtime Environment (JRE)
  • Was sind JDK, JRE, JVM und JIT in Java?

In Fedora werden die JREs/JDKs in /usr/lib/jvm gespeichert. So können Sie sich den Inhalt ansehen oder ihn wie folgt abfragen:

find /usr/lib/jvm -name java
find /usr/lib/jvm -name javac

Installieren eines OpenJDK

Ich verwende Fedora 40, wo der Paketmanager dnf ist. Sie würden Ihr gewünschtes OpenJDK über den Paketmanager Ihrer jeweiligen Linux-Distribution installieren (wie apt für Ubuntu/Debian):

  • Suchen Sie nach verfügbaren JDKs zur Installation:
  dnf search jdk

Sie erhalten eine Liste der zur Installation verfügbaren Pakete mit verschiedenen Java-Versionen sowie das Variantensuffix im Paket. Die Headless-Varianten enthalten normalerweise nur die JRE. Um das vollständige JDK mit allen notwendigen Tools für die Java-Entwicklung zu installieren, benötigen wir die Entwicklungsvariante des Pakets, die normalerweise das Suffix -devel im Namen für dnf enthält. Hier ist eine Liste einiger Paketvariantennamen für Java 17 OpenJDK aus der dnf-Ausgabe:

  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

Unter Ubuntu gibt es weniger Pakete und das Paket, das Sie installieren möchten, heißt normalerweise openjdk-17-jdk für das gesamte JDK-Toolset

  • Installieren Sie Ihr gewünschtes OpenJDK-Paket aus dieser Liste
  # 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
  • Überprüfen Sie die Installation, indem Sie überprüfen, ob Java- und Javac-Befehle gefunden werden

Installieren eines Oracle JDK

  • Besuchen Sie die offizielle Oracle SE-Downloadseite. Suchen Sie den Download-Bereich Ihrer erforderlichen Java-Version

  • Laden Sie das passende Paket für Ihre Plattform herunter. Laden Sie für RedHat-basierte Linux-Distributionen wie Fedora das .rpm-Paket herunter (und .deb für Ubuntu/Debian). Vor dem Herunterladen müssen Sie sich bei Oracle anmelden und den Bedingungen zustimmen

  • Doppelklicken Sie auf die heruntergeladene Datei (z. B. jdk-11.0.24_linux-x64_bin.rpm) und wählen Sie „Installieren“. Es wird das Oracle JDK installieren und konfigurieren.

  • Nachdem OracleJDK installiert ist, überprüfen Sie die erkannten Java- und Javac-Befehle

JDKs über IntelliJ installieren

Sie können JDKs auch aus IntelliJ selbst heraus installieren:

  • Klicken Sie auf das Zahnradsymbol ⚙️ und gehen Sie dann zur Projektstruktur. Wählen Sie SDKs aus und klicken Sie auf das Plus-Symbol. Wählen Sie dann das JDK aus, das heruntergeladen und installiert werden soll
  • Das JDK wird im Ordner ~/.jdks installiert, zum Beispiel: ~/.jdks/openjdk-20.0.2/

IntelliJ erkennt automatisch Ihre verfügbaren JDK-Speicherorte auf Ihrem System. Sie können auch Ihre vorhandenen JDK-Ordnerspeicherorte wie /usr/lib/jvm/jdk-11-oracle-x64 unter konfigurierten JDKs in der Projektstruktur hinzufügen


Arbeiten mit mehreren Java-Installationen

Der Befehl „update-alternatives“ unter Linux (in Fedora auch nur „Alternatives“ genannt) erstellt, entfernt, verwaltet und zeigt Informationen über die symbolischen Links an, aus denen das Alternativensystem besteht.

Es ist möglich, dass auf einem System gleichzeitig mehrere Programme installiert sind, die gleiche oder ähnliche Funktionen erfüllen. Ein generischer Name im Dateisystem wird von allen Dateien gemeinsam genutzt, die austauschbare Funktionalität bieten. Das Alternativensystem hilft dabei, festzustellen, auf welche tatsächliche Datei dieser generische Name verweist.

Nützliche Referenzen:

  • Update-Alternativen – Linux-Manpage
  • Einführung in den Alternatives-Befehl unter Linux – RedHat

Wenn Sie OpenJDK über Ihren Paketmanager oder Oracle-JDK aus der heruntergeladenen Datei installieren, sollten die Alternativen während dieses Vorgangs automatisch aktualisiert werden

Verfügbare Optionen für einen Befehl anzeigen

java  # would show manual of arguments
javac # would give not found error if JDK not installed

Die Ausgabe würde wie folgt aussehen:

java --version  # OR "java -version" for older java
javac --version

Siehe auch die Liste der alternativen Optionen für Javac

Hinzufügen eines alternativen Eintrags für einen Befehl

Wenn eine Alternative für Ihre Befehle NICHT in der Liste registriert ist, können Sie sie manuell hinzufügen als:

find /usr/lib/jvm -name java
find /usr/lib/jvm -name javac

Zum Beispiel habe ich das JetBrains Runtime (JCEF) JDK aus IntelliJ heruntergeladen, das im Ordner ~/.jdks/jbrsdk_jcef-17.0.12/ heruntergeladen wurde; aber es wurde nicht in der Alternativliste angezeigt. Daher füge ich den Alternativeneintrag für Java und Javac hinzu als:

  dnf search jdk

Fügen Sie auf ähnliche Weise nach Bedarf Alternativen für weitere Befehle wie jar, Javadoc usw. hinzu

Sie können Follower-Links auch hinzufügen als:

--install link name path priority [--follower link name path]... [--initscript service] [--family name]

Wechseln zwischen verfügbaren Alternativen eines Befehls

Wählen Sie zwischen den vorhandenen Java-Installationen

  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

Die Ausgabe würde wie folgt aussehen. Beachten Sie, dass * die beste verfügbare Version und Ihre aktuelle Auswahl bezeichnet:

  # 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

Wählen Sie ebenfalls eine der alternativen Optionen für Javac

Denken Sie beim Deinstallieren/Entfernen Ihrer JDK-Pakete daran, auch die entsprechenden Alternativeinträge zu löschen

Entfernen eines Alternativeneintrags

Zum Beispiel, um den alternativen Java-Befehlseintrag des JCEF JDK zu entfernen:

java  # would show manual of arguments
javac # would give not found error if JDK not installed

Fügen Sie Java zu PATH hinzu

Dies sollte nicht erforderlich sein, wenn Sie die Update-Alternatives-Methode zur Verwaltung zwischen Java-Installationen verwenden und alle Einträge vollständig sind

Um die Konfiguration in Ihrem Shell-Profil jedoch manuell festzulegen, können Sie wie folgt vorgehen:

  • Legen Sie Umgebungsvariablen in Ihrer Shell-Konfigurationsdatei fest (z. B. ~/.zshrc, ~/.bashrc usw.)
java --version  # OR "java -version" for older java
javac --version
  • SHELL neu starten:
find /usr/lib/jvm -name java
find /usr/lib/jvm -name javac
  • Jetzt sollte Java erfolgreich erkannt werden
  dnf search jdk

Das obige ist der detaillierte Inhalt vonDie bevorzugte Methode zum Installieren und Verwalten von Java JDKs unter Linux. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Wie benutze ich Maven oder Gradle für das fortschrittliche Java -Projektmanagement, die Erstellung von Automatisierung und Abhängigkeitslösung?Mar 17, 2025 pm 05:46 PM

In dem Artikel werden Maven und Gradle für Java -Projektmanagement, Aufbau von Automatisierung und Abhängigkeitslösung erörtert, die ihre Ansätze und Optimierungsstrategien vergleichen.

Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Wie erstelle und verwende ich benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning und Abhängigkeitsmanagement?Mar 17, 2025 pm 05:45 PM

In dem Artikel werden benutzerdefinierte Java -Bibliotheken (JAR -Dateien) mit ordnungsgemäßem Versioning- und Abhängigkeitsmanagement erstellt und verwendet, wobei Tools wie Maven und Gradle verwendet werden.

Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Wie implementiere ich mehrstufige Caching in Java-Anwendungen mit Bibliotheken wie Koffein oder Guava-Cache?Mar 17, 2025 pm 05:44 PM

In dem Artikel wird in der Implementierung von mehrstufigem Caching in Java mithilfe von Koffein- und Guava-Cache zur Verbesserung der Anwendungsleistung erläutert. Es deckt die Einrichtungs-, Integrations- und Leistungsvorteile sowie die Bestrafung des Konfigurations- und Räumungsrichtlinienmanagements ab

Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Wie kann ich JPA (Java Persistence-API) für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden verwenden?Mar 17, 2025 pm 05:43 PM

In dem Artikel werden mit JPA für Objektrelationszuordnungen mit erweiterten Funktionen wie Caching und faulen Laden erläutert. Es deckt Setup, Entity -Mapping und Best Practices zur Optimierung der Leistung ab und hebt potenzielle Fallstricke hervor. [159 Charaktere]

Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Wie funktioniert der Klassenladungsmechanismus von Java, einschließlich verschiedener Klassenloader und deren Delegationsmodelle?Mar 17, 2025 pm 05:35 PM

Mit der Klassenbelastung von Java wird das Laden, Verknüpfen und Initialisieren von Klassen mithilfe eines hierarchischen Systems mit Bootstrap-, Erweiterungs- und Anwendungsklassenloadern umfasst. Das übergeordnete Delegationsmodell stellt sicher

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung