Standard-Port in Spring Boot ändern: 5 Methoden zur Konfiguration

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Warum Ihr Spring Boot nicht auf Port 8080 lauscht?

\n

Sie starten Ihre erste Spring Boot-Anwendung, sehen das ersehnte Banner in der Konsole, öffnen den Browser – und erhalten „Connection refused“. Kommt Ihnen das bekannt vor? Meistens liegt das Problem darin, dass Port 8080 bereits von einem anderen Prozess belegt ist (z. B. Skype, Docker oder einer zweiten Instanz Ihrer eigenen Anwendung). Oder Sie müssen drei Microservices auf einer Maschine starten, die alle denselben Port beanspruchen.

\n

In diesem Artikel zeigen wir Ihnen alle wichtigen Methoden zur Port-Konfiguration in Spring Boot – von den einfachsten bis hin zu produktionsreifen Ansätzen. Sie erfahren, wie Sie den Port über Konfigurationsdateien, Umgebungsvariablen, Kommandozeilenargumente und sogar programmatisch überschreiben. Am Ende gibt es eine Checkliste, welche Methode sich für welche Situation am besten eignet.

\n\n

Methode 1: application.properties – der Klassiker

\n

Die gängigste und intuitivste Methode. Fügen Sie in der Datei src/main/resources/application.properties einfach eine Zeile hinzu:

\n
server.port=9090
\n

Fertig. Nach dem Neustart lauscht Ihre Anwendung auf Port 9090. Um zu Port 8080 zurückzukehren, löschen oder kommentieren Sie die Zeile einfach aus.

\n

Vorteile: Einfach, verständlich, funktioniert „out of the box“.

\n

Nachteile: Hart im Code codiert – für jede Umgebung (Dev, Test, Prod) müssten Sie die Datei manuell ändern oder Profile verwenden.

\n\n

Methode 2: application.yml (YAML) – für Struktur-Liebhaber

\n

Wenn Sie das YAML-Format bevorzugen, sieht die Konfiguration so aus:

\n
server:\n  port: 9090
\n

Achten Sie auf die Einrückung: zwei Leerzeichen vor port. YAML ist empfindlich gegenüber Leerzeichen, ermöglicht aber die Gruppierung von Einstellungen. So können Sie beispielsweise gleich den Kontextpfad festlegen:

\n
server:\n  port: 9090\n  servlet:\n    context-path: /meineapp
\n

Wann verwenden: Wenn Ihr Projekt bereits YAML für alle Konfigurationen nutzt (z. B. für Spring Cloud Config).

\n\n

Methode 3: Kommandozeilenargumente – Flexibilität für DevOps

\n

Die flexibelste Methode, die häufig in Containern und CI/CD eingesetzt wird. Übergeben Sie beim Start der JAR-Datei einfach den Parameter:

\n
java -jar meineapp.jar --server.port=9090
\n

Oder, wenn Sie das Maven/Gradle-Plugin verwenden:

\n
mvn spring-boot:run -Dspring-boot.run.arguments=--server.port=9090
\n

Kommandozeilenargumente haben die höchste Priorität aller Konfigurationsmethoden in Spring Boot. Das bedeutet, sie überschreiben sogar das, was in application.properties steht.

\n

Ideal für: Docker-Container, Kubernetes, automatisierte Deployments.

\n\n

Methode 4: Umgebungsvariablen – Standard für 12-Faktor-Apps

\n

Spring Boot liest automatisch Umgebungsvariablen und wandelt sie in Eigenschaften um. Die Regel ist einfach: SERVER_PORT (Großbuchstaben, Unterstrich statt Punkt) wird zu server.port.

\n

Unter Linux/macOS:

\n
export SERVER_PORT=9090\njava -jar meineapp.jar
\n

Unter Windows (cmd):

\n
set SERVER_PORT=9090\njava -jar meineapp.jar
\n

In Docker Compose sieht das noch eleganter aus:

\n
services:\n  meineapp:\n    image: meineapp:latest\n    ports:\n      - "9090:9090"\n    environment:\n      - SERVER_PORT=9090
\n

Warum das großartig ist: Umgebungsvariablen landen nicht im Repository, lassen sich einfach für verschiedene Umgebungen ändern und folgen der Methodik der 12-Faktor-App.

\n\n

Methode 5: Programmatische Konfiguration – für die Feinkontrolle

\n

Manchmal muss der Port dynamisch berechnet werden (z. B. einen freien Port finden oder von einem externen Dienst abrufen). Hier kommt Java-Code ins Spiel.

\n

Die einfachste Variante ist das Überschreiben der Methode setServerPort in der Klasse

Blogs

Buchempfehlungen