Secrets im Java-Projekt
.env
und der Bibliothek dotenv-java
Ziele
- Du lernst, wie man
.env
-Dateien verwendet. - Du verwendest
dotenv-java
für einfache Integration in Java-Projekte. - Du stellst sicher, dass deine API-Keys nicht im Code landen.
Geheimnisse in einem Java-Projekt schützen
Die nachfolgende Anleitung soll dir helfen, Geheimnisse zu schützen, welche dein Projekt benötigt (z.B. Passwort für Datenbank-Zugriff).
Schritt 1: .env
-Datei erstellen
Im Projektverzeichnis (z. B. labs/
) eine Datei .env
mit folgendem Inhalt anlegen:
|
|
Diese Datei enthält vertrauliche Informationen und darf nicht ins Git-Repository eingecheckt werden.
Trage sie deshalb in .gitignore
ein:
|
|

.env
-Datei nicht ins Git-Repository gelangt – bevor du deine Geheimnisse einträgst!Schritt 2: Maven-Dependency hinzufügen
Passe das Maven-Konfigurationsfile (pom.xml
) an:
|
|
Schritt 3: Zugriff im Java-Code
|
|
dotenv-java
prüft zuerst System.getenv(...)
, dann .env
– ideal für lokale Entwicklung, Testing und Verteilung.

.env
-Datei beim Deployment erstellt und verteilt wird, gehört zum Thema Configuration Management – das behandeln wir hier nicht weiter.Schritt 4: Vorlage für andere bereitstellen
Lege eine .env.template
oder .env.example
mit folgendem Inhalt ins Repository:
|
|
Diese Datei darf eingecheckt werden – sie enthält keine echten Schlüssel, sondern dient als Vorlage.
Vorteile von dotenv-java
Vorteil | Beschreibung |
---|---|
IDE-unabhängig | Funktioniert mit IntelliJ, VS Code, CLI, Docker usw. |
Deployment-tauglich | .env wird zur Laufzeit geladen – kein Startskript nötig |
Testing-freundlich | Ideal für Integrationstests mit Umgebungsvariablen |
Einfach integrierbar | Nur eine kleine, leichtgewichtige Dependency |
Zukunftssicher | Standardlösung für reale Java-Projekte |

Natürlich ist dotenv-java
nicht die einzige Möglichkeit, um Konfiguration und Code voneinander zu trennen. In anderen
Projekten wirst du vielleicht auf alternative Lösungen stossen.
Wichtig ist dabei immer:
Geheimnisse wie API-Schlüssel und Passwörter dürfen niemals im Quellcode oder in öffentlich zugänglichen Repositories gespeichert werden.

In CI/CD-Umgebungen (z. B. GitHub Actions, GitLab CI) ist die Verwendung einer .env
-Datei nur im Rahmen von Tests oder lokalen Simulationen sinnvoll. Beim eigentlichen Build-Prozess hat sie keine Wirkung, da dort keine .env
geladen wird – es sei denn, du startest deine Anwendung oder Tests explizit.
Für produktive CI/CD-Prozesse solltest du die benötigten Werte als echte Umgebungsvariablen im jeweiligen CI-System hinterlegen.
Optional: Einstieg mit IntelliJ Plugin „Env File“
Wenn du keine zusätzliche Bibliothek verwenden willst und nur lokal mit IntelliJ arbeitest, kannst du das Plugin Env File nutzen.
Installation
- IntelliJ IDEA öffnen →
Settings
→Plugins
- Nach Env File (von Aeris) suchen und installieren
- IntelliJ neu starten
Run-Konfiguration anpassen
- Run-Konfiguration öffnen (
Edit Configurations…
) - Abschnitt EnvFile aktivieren: ✅ „Enable EnvFile“
- Mit ➕ deine
.env
-Datei hinzufügen
Zugriff im Code
|
|

Verwende es nur zum Einstieg oder für Tests – produktiv empfehlen wir
dotenv-java
.Empfehlung für it-ninjas-Projekte
Szenario | Empfehlung |
---|---|
Lokale Entwicklung (kurzfristig) | .env + Plugin (optional) |
Verteilung, Produktivbetrieb | .env mit dotenv-java |
Verwende dotenv-java
, wenn dein Projekt wachsen oder weitergegeben werden soll.
So stellst du sicher, dass deine Zugangsdaten nicht im Code landen – und dein Projekt überall funktioniert.