Java-Entwicklungsumgebung einrichten: JDK, IDE und erstes Programm

Von · Softwareentwickler und Autor von tiny-tool.de

Eine funktionierende Java-Umgebung besteht aus einem JDK, einem korrekt erreichbaren Werkzeugsatz und einer Entwicklungsoberfläche, die zu deinem Lernziel passt. Dieser Guide führt dich vom Download bis zum selbst kompilierten Programm.

Das Wichtigste vorab

Kurzfassung: ca. 1 Minute · vollständiger Artikel: ca. 9 Minuten

  • Zum Entwickeln brauchst du ein JDK. Es enthält unter anderem die Laufzeit, den Compiler javac und das Experimentierwerkzeug jshell.
  • Für einen stabilen Einstieg ist Java 25 als LTS-Version eine gute Wahl. In Projekten entscheidet jedoch immer die dort festgelegte Java-Version.
  • Prüfe nach der Installation sowohl java --version als auch javac --version. Fehlt der Compiler, ist häufig nur eine Laufzeit oder ein falscher Pfad aktiv.
  • JAVA_HOME zeigt auf das JDK-Verzeichnis, nicht auf dessen bin-Ordner. Der bin-Ordner gehört in den Suchpfad.
  • IntelliJ IDEA, Eclipse, Apache NetBeans und VS Code können Java-Projekte bearbeiten. Wichtiger als die Marke ist, dass IDE und Terminal dasselbe JDK verwenden.
  • Ein erster Kompilierlauf im Terminal macht den Zusammenhang zwischen Quelldatei, Bytecode, Klassenpfad und JVM sichtbar.
Eine leuchtende Werkzeugkette verbindet Java-Quelldatei, Compiler und ausführbare Anwendung in einer Entwicklungsumgebung.
KI-generierte Illustration einer Java-Werkzeugkette vom Quellcode bis zur laufenden Anwendung.

Eine IDE allein ist noch keine Java-Entwicklungsumgebung. Entscheidend ist zunächst das JDK: Es stellt die Werkzeuge bereit, mit denen Quellcode übersetzt und Programme gestartet werden. Die IDE setzt darauf auf und übernimmt Komfortaufgaben wie Navigation, Refactoring, Tests und Debugging. Wenn du beide Ebenen auseinanderhalten kannst, lassen sich typische Installationsprobleme deutlich schneller lösen.

JDK, JVM und JRE unterscheiden

Drei Abkürzungen tauchen beim Java-Setup immer wieder auf. Sie beschreiben unterschiedliche Ebenen derselben Plattform:

Die Bestandteile einer Java-Entwicklungsumgebung
Begriff Aufgabe Für Einsteiger wichtig
JVM Führt Java-Bytecode aus und stellt Laufzeitdienste wie Speicherverwaltung bereit. Sie ist der eigentliche Ausführungsmechanismus.
JRE Bezeichnet die Laufzeitumgebung aus JVM und benötigten Bibliotheken. Für aktuelle Entwicklungsinstallationen wird normalerweise kein separates JRE benötigt.
JDK Enthält die Laufzeit sowie Entwicklungswerkzeuge wie javac, java, javadoc und jshell. Installiere ein JDK, wenn du Java-Code entwickeln möchtest.
Merksatz: Die JVM führt Bytecode aus, das JDK erzeugt und untersucht ihn. Für deine Entwicklungsmaschine ist deshalb das JDK die richtige Installation.

Die passende Java-Version auswählen

Java erscheint in einem regelmäßigen Veröffentlichungsrhythmus. Nicht jede Ausgabe wird von allen Anbietern gleich lange gepflegt. Java 25 ist eine LTS-Version und eignet sich deshalb gut für Lernumgebungen, die länger stabil bleiben sollen. Java 26 enthält den neueren Sprach- und Plattformstand, ist aber keine LTS-Version.

In einem bestehenden Projekt hast du diese Wahl meist nicht frei: Build-Konfiguration, Frameworks, Bibliotheken und Produktionsumgebung geben die unterstützte Version vor. Installiere dann genau diese oder eine kompatible neuere Patch-Version derselben Hauptausgabe.

Welche JDK-Distribution?

OpenJDK ist die offene Referenzbasis der Java-SE-Implementierungen. Verschiedene Anbieter veröffentlichen daraus fertige JDK-Pakete, beispielsweise OpenJDK-Builds von Oracle, Eclipse Temurin, Amazon Corretto, Azul Zulu oder Oracle JDK. Für die Grundlagen verhalten sich diese Distributionen weitgehend gleich. Unterschiede liegen vor allem bei Installationspaketen, Updatezeiträumen, Supportangeboten und Lizenzbedingungen.

  • Wähle die richtige Hauptversion, zum Beispiel 25.
  • Achte auf dein Betriebssystem und die Prozessorarchitektur: x64 oder AArch64.
  • Beziehe Installationsdateien direkt vom Anbieter.
  • Aktualisiere innerhalb deiner gewählten Hauptversion regelmäßig.
  • Prüfe Lizenz- und Supportbedingungen, bevor du ein JDK unternehmensweit verteilst.

JDK unter Windows, macOS und Linux installieren

Die konkrete Oberfläche unterscheidet sich je nach Anbieter. Das Ziel bleibt immer dasselbe: Ein JDK-Verzeichnis wird installiert und dessen Werkzeuge müssen im Terminal erreichbar sein.

Typische Installationswege
System Empfohlener Weg Besonderheit
Windows MSI-/EXE-Paket eines JDK-Anbieters oder bewusst entpacktes ZIP-Archiv Installer können PATH und JAVA_HOME teilweise automatisch setzen.
macOS PKG/DMG-Paket oder Paketmanager /usr/libexec/java_home -V listet erkannte JDKs auf.
Linux Paketverwaltung der Distribution oder Archiv des JDK-Anbieters Bei mehreren Versionen verwaltet die Distribution häufig Alternativen für java und javac.

Installiere nicht mehrere Versionen auf Verdacht. Mehrere JDKs sind zwar problemlos möglich, aber nur dann hilfreich, wenn du bewusst zwischen Projekten wechselst und nachvollziehen kannst, welche Version gerade aktiv ist.

Installation und Pfade prüfen

Öffne nach der Installation ein neues Terminal. Bereits geöffnete Fenster kennen geänderte Umgebungsvariablen häufig noch nicht.

java --version
javac --version
jshell --version

java startet die Laufzeit, javac ist der Compiler. Die ersten beiden Befehle sollten dieselbe Hauptversion melden. Zeigen sie unterschiedliche Versionen, verweist dein Suchpfad auf verschiedene JDK-Installationen.

JAVA_HOME und PATH

JAVA_HOME wird vor allem von Build-Werkzeugen und Entwicklungsumgebungen ausgewertet. Der Wert zeigt auf das Wurzelverzeichnis des JDK. Der Ordner bin darunter enthält die ausführbaren Werkzeuge und gehört in PATH.

JAVA_HOME = PFAD_ZUM_JDK
PATH      = JAVA_HOME/bin + vorhandener Suchpfad

Nicht auf bin zeigen

Wenn JAVA_HOME bereits auf den bin-Ordner verweist, hängen Werkzeuge häufig selbst noch bin an und suchen dadurch im falschen Verzeichnis. Die Variable endet beim JDK-Hauptordner.

Eine Java-IDE auswählen

Java verlangt keine bestimmte Entwicklungsoberfläche. Eine gute IDE erkennt das Projektmodell, verwendet das gewünschte JDK und unterstützt dich beim Navigieren, Refaktorieren, Testen und Debuggen.

Vier verbreitete Entwicklungsoberflächen
Werkzeug Charakter Passt gut, wenn …
IntelliJ IDEA Java-fokussierte IDE mit starker Codeanalyse du eine geführte Projektoberfläche und umfangreiche Refactorings möchtest.
Eclipse IDE Offene, erweiterbare Java-IDE du ein klassisches Workspace-Modell oder Eclipse-basierte Werkzeuge verwendest.
Apache NetBeans Integrierte IDE aus dem Apache-Projekt du eine kompakte Komplettumgebung mit direktem Java-Einstieg suchst.
Visual Studio Code Leichter Editor, der durch Java-Erweiterungen zur Entwicklungsumgebung wird du verschiedene Sprachen in einer schlanken Oberfläche bearbeitest.

Öffne nach dem ersten Start die Projekt- oder SDK-Einstellungen und kontrolliere die konfigurierte Java-Version. Eine IDE kann ein eigenes JDK kennen, obwohl das Terminal noch eine andere Version verwendet.

Das erste Projekt ohne IDE-Magie

Ein manueller Durchlauf ist kein Rückschritt. Er zeigt dir, welche Aufgaben eine IDE später automatisiert. Lege folgende Struktur an:

java-start/
├─ src/
│  └─ de/
│     └─ tinytool/
│        └─ start/
│           └─ HelloJava.java
└─ out/
package de.tinytool.start;

public class HelloJava {
    public static void main(String[] args) {
        String version = System.getProperty("java.version");
        System.out.println("Java läuft – Version " + version);
    }
}

Wechsle im Terminal in das Verzeichnis java-start. Der Compiler schreibt die erzeugte Klassendatei nach out; anschließend startet die JVM die Klasse über ihren vollständig qualifizierten Namen.

javac -d out src/de/tinytool/start/HelloJava.java
java -cp out de.tinytool.start.HelloJava

javac übersetzt die Quelldatei in Bytecode. java sucht über den Klassenpfad out nach der kompilierten Klasse und ruft deren main-Methode auf. Genau diese Schritte führt auch eine IDE aus – nur komfortabler und mit einem verwalteten Projektmodell.

Mit JShell experimentieren

Für kleine Sprachversuche brauchst du noch kein Projekt. jshell ist eine interaktive Java-Umgebung, die mit dem JDK geliefert wird. Sie akzeptiert Ausdrücke, Variablen, Methoden und Klassenfragmente.

jshell

jshell> int price = 19;
jshell> int quantity = 3;
jshell> price * quantity
$3 ==> 57
jshell> /exit

JShell eignet sich zum Ausprobieren einer API oder eines Ausdrucks. Für wiederholbare Programme, Tests und Versionsverwaltung bleibt eine normale Projektstruktur die bessere Wahl.

Maven, Gradle und Projektversionen

Größere Java-Projekte werden meist mit Maven oder Gradle gebaut. Diese Werkzeuge laden Abhängigkeiten, kompilieren Quellcode und führen Tests reproduzierbar aus. Für den ersten Quelltext sind sie nicht zwingend nötig, aber du solltest früh verstehen, dass die Java-Version im Projektmodell festgelegt wird.

Nutze in bestehenden Projekten bevorzugt den mitgelieferten Maven- oder Gradle-Wrapper. Er legt die Build-Werkzeugversion fest. Das verwendete JDK muss trotzdem zur Projektkonfiguration passen.

Teamregel: Dokumentiere JDK-Version und Build-Befehl im Projekt. „Funktioniert in meiner IDE“ ist keine reproduzierbare Build-Anleitung.

Häufige Setup-Fehler beheben

Typische Symptome und ihre Ursachen
Symptom Wahrscheinliche Ursache Prüfung
java wird nicht gefunden JDK-bin fehlt im Suchpfad oder das Terminal ist zu alt. Neues Terminal öffnen und PATH kontrollieren.
javac fehlt Nur eine Laufzeit ist aktiv oder der falsche Installationsordner steht zuerst. Installationsverzeichnis und javac --version prüfen.
IDE und Terminal melden andere Versionen Die IDE verwendet ein separat konfiguriertes JDK. Project SDK, Gradle-/Maven-JVM und Terminalversion vergleichen.
UnsupportedClassVersionError Bytecode wurde mit einem neueren JDK erzeugt als die aktive Laufzeit unterstützt. Compiler- und Laufzeitversion angleichen.
Hauptklasse wird nicht gefunden Klassenpfad, Paketname oder Startverzeichnis stimmen nicht. -cp, Paketdeklaration und Ausgabeverzeichnis prüfen.

Java- und Kotlin-Toolchain vergleichen

Java und Kotlin laufen beide auf der JVM und können dasselbe JDK verwenden. Kotlin bringt jedoch einen eigenen Compiler und eigene Build-Plugins mit. Ein vorhandenes JDK ersetzt also nicht die Kotlin-Werkzeuge; es stellt die gemeinsame Laufzeit- und Plattformbasis bereit.

Java

  • Compiler: javac
  • Interaktive Shell: jshell
  • Start: java
  • Quelldateien: .java

Kotlin/JVM

  • Compiler: kotlinc oder Build-Plugin
  • REPL je nach Tooling
  • Ausführung auf der JVM
  • Quelldateien: .kt

Für ein reines Java-Lernprojekt brauchst du Kotlin nicht zu installieren. In einem gemischten Projekt sollte das Build-System beide Compiler und ihre Reihenfolge festlegen.

Best Practices und Checkliste

Gute Ausgangslage

  • JDK aus einer offiziellen Anbieterquelle
  • Projektversion bewusst gewählt
  • java und javac auf derselben Hauptversion
  • IDE verwendet das Projekt-JDK
  • Erster Build auch außerhalb der IDE verstanden
  • Regelmäßige Sicherheits- und Patch-Updates

Warnsignale

  • Mehrere zufällige JDKs im Suchpfad
  • JAVA_HOME endet auf bin
  • Downloads aus unbekannten Portalen
  • Projekt funktioniert nur über einen IDE-Button
  • Produktionsversion und Entwicklungsversion sind undokumentiert verschieden
  • Veraltete Java-Version bleibt ohne fachlichen Grund aktiv

Glossar

Bytecode
Plattformunabhängige Zwischenform, die der Java-Compiler erzeugt und die JVM ausführt.
JDK
Java Development Kit mit Laufzeit und Entwicklungswerkzeugen.
JVM
Java Virtual Machine zur Ausführung von Java-Bytecode.
Klassenpfad
Liste von Verzeichnissen und Archiven, in denen die JVM nach Klassen sucht.
LTS
Long-Term Support; eine Version, für die ein Anbieter einen längeren Pflegezeitraum vorsieht.
IDE
Integrierte Entwicklungsumgebung zum Bearbeiten, Ausführen, Testen und Debuggen von Code.
JShell
Interaktive Java-Shell für kurze Sprach- und API-Experimente.

Fazit: Erst die Werkzeugkette verstehen, dann den Komfort nutzen

Eine belastbare Java-Umgebung beginnt mit einem passenden JDK und überprüfbaren Befehlen. Wenn java und javac dieselbe Version melden und du ein kleines Programm selbst kompilieren kannst, steht das technische Fundament.

Die praktische Leitlinie: Nutze anschließend die IDE, die deinen Arbeitsstil unterstützt. Halte Java-Version, Build-Werkzeug und Projektkonfiguration nachvollziehbar – dann bleibt dein Setup auch bei einem IDE-Wechsel oder im Team reproduzierbar.

Offizielle Quellen und weiterführende Informationen

Transparenzhinweis


Transparenzhinweis:
Die Inhalte auf tiny-tool.de werden sorgfältig recherchiert, redaktionell geprüft und regelmäßig aktualisiert. Quellen und Zitate werden möglichst nachvollziehbar angegeben. Dennoch übernehmen wir keine Garantie für Richtigkeit, Vollständigkeit oder Aktualität der bereitgestellten Informationen. Irrtümer sind nicht ausgeschlossen.

Redaktion und Einsatz von KI: Bei der Erstellung von Inhalten können digitale Werkzeuge – darunter auch KI-basierte Assistenzsysteme – unterstützend eingesetzt werden, etwa bei Recherche, Strukturierung, sprachlicher Überarbeitung, Übersetzung, Codeanalyse oder visueller Gestaltung. Veröffentlichte Inhalte werden redaktionell geprüft, bearbeitet und von Guido Zeuner freigegeben. Auswahl, Einordnung und Veröffentlichung liegen beim Menschen. KI-Ausgaben gelten nicht als eigenständige Quellen. KI-Systeme sind keine verantwortlichen Autoren oder Redakteure. Weitere Informationen zu Texten, Bildern, Videos und digitalen Personas findest du auf unserer Seite Transparenz beim Einsatz von Künstlicher Intelligenz.

Reichweitenmessung (VG WORT / METIS): Zur Ermittlung der Reichweite einzelner Texte können Zählmarken der VG WORT eingesetzt werden. Im Rahmen der METIS-Zugriffszählung kann eine Client-ID gebildet und ein sogenanntes „METIS Session Cookie“ gesetzt werden. Die Messung dient der statistischen Ermittlung von Textzugriffen und als Grundlage für mögliche Ausschüttungen der VG WORT. Nach Angaben der VG WORT werden dabei keine personenbezogenen Nutzungsprofile erstellt; die Messung dient nicht der Werbung oder dem Marketing-Tracking. Weitere Informationen findest du in unseren Datenschutzhinweisen.

Bitte beachte: Die Inhalte dienen ausschließlich der allgemeinen Information und stellen keine fachliche Beratung dar, insbesondere keine rechtliche, steuerliche, medizinische, technische oder finanzielle Beratung. Die Nutzung der Inhalte erfolgt auf eigene Verantwortung.

Werbung und Affiliate-Links: Einige Beiträge können werbliche Hinweise oder sogenannte Affiliate-Links enthalten. Diese werden entsprechend gekennzeichnet. Beim Klick entstehen dir keine zusätzlichen Kosten; wir erhalten gegebenenfalls eine kleine Provision.

Markenrechtlicher Hinweis: Alle Markennamen, Logos und Produktbezeichnungen sind Eigentum der jeweiligen Rechteinhaber und werden ausschließlich zur Identifikation und Beschreibung verwendet. Eine Verbindung zu den genannten Unternehmen besteht nur, wenn dies ausdrücklich angegeben wird.

Externe Links: Diese Website enthält Verweise auf externe Websites Dritter. Trotz sorgfältiger Prüfung übernehmen wir keine Verantwortung für deren Inhalte. Bei Bekanntwerden rechtswidriger Inhalte werden entsprechende Links geprüft und gegebenenfalls entfernt.