Sprache Frankfurt, Deutschland

Java auf Nodion deployen

Nodion erkennt ein Java-Projekt an pom.xml, build.gradle oder einem Maven- oder Gradle-Wrapper. Das Java-Buildpack baut es mit einem Temurin JDK, überspringt die Tests und startet das größte Jar mit java -jar auf einer Temurin JRE; das JDK kommt nicht ins Run-Image. Die App läuft in Frankfurt, auf Wunsch neben einer Managed PostgreSQL-Datenbank.

Auf Nodion deployen ›

ab 1 EUR / Monat

Bis zu 15 € Guthaben beim Registrieren

Erkannt an
pom.xml, build.gradle(.kts), mvnw oder gradlew
Start
java -Dserver.port=$PORT -jar mit dem größten Jar
Java
Temurin 11, 17, 21 (Standard), 25, 26, 27
Region
EU Central (Frankfurt)

Java Schritt für Schritt deployen

  1. Maven- oder Gradle-Wrapper committen Mit gradlew führt Nodion ./gradlew build -x test --no-daemon aus, mit mvnw ./mvnw -B -DskipTests clean package. Eine pom.xml ohne Wrapper baut Nodion mit dem eigenen Maven. Ein Gradle-Projekt ohne gradlew scheitert: Leg den Wrapper mit gradle wrapper an und committe ihn samt Ordner gradle/wrapper. Tests laufen beim Deploy nicht, die gehören in deine CI.
  2. Java-Version festlegen Ohne Angabe baut und startet Nodion mit Java 21. Eine andere Version trägst du in system.properties ein. Toolchain-Angaben in pom.xml oder im Gradle-Build liest Nodion nicht, halte sie also mit dieser Datei synchron. system.properties
    java.runtime.version=25
  3. Auf PORT lauschen Nodion setzt PORT für den Web-Prozess und reicht ihn als -Dserver.port an die JVM weiter, das deckt Spring Boot ab. Andere Frameworks oder ein eigener Server lesen PORT selbst und binden an 0.0.0.0.
    int port = Integer.parseInt(System.getenv().getOrDefault("PORT", "8080"));
  4. App anlegen Lege im Dashboard eine Application aus deinem GitHub-, GitLab-, Bitbucket- oder Gitea-Repository an, wähle Branch, Region EU Central und eine Größe mit mindestens 1 GB Arbeitsspeicher. Lass die Build-Strategie auf Buildpacks; liegt ein Dockerfile im Repository, wählt das Formular stattdessen Dockerfile.
  5. Datenbank anbinden und migrieren Häng auf dem Tab Environment eine PostgreSQL-Datenbank aus derselben Region an. DATABASE_URL ist eine postgres://-URL und keine JDBC-URL: Lass dir host, port, database, user und password zusätzlich unter eigenen Namen injizieren und bau daraus die JDBC-URL, wie im Spring-Boot-Guide gezeigt. Migrationen, die beim Start laufen (Flyway, Liquibase), brauchen nichts weiter; jeden anderen Befehl führt eine release:-Zeile in einer Procfile bei jedem Build einmal aus, bevor die neue Version startet.

Gut zu wissen

  • ArbeitsspeicherDie JVM bekommt standardmäßig JAVA_TOOL_OPTIONS=-XX:MaxRAMPercentage=80.0, der Heap darf also den Großteil des Speichers der Instanz nutzen. Setz JAVA_TOOL_OPTIONS selbst, um das zu ersetzen, oder JAVA_OPTS, um dem Startbefehl Flags mitzugeben. Die meisten JVM-Web-Apps brauchen 1 GB oder mehr.
  • Welches Jar startetNodion startet das größte Jar direkt in target/ oder build/libs/ und überspringt -plain-, -sources- und -javadoc-Jars. Bei Multi-Modul-Builds liegt das lauffähige Jar in einem Modulordner; dann startest du es mit einer web:-Zeile in einer Procfile und übergibst den Port selbst.
  • Quarkus und andere Frameworks-Dserver.port wirkt nur bei Spring Boot. Quarkus, Micronaut und andere brauchen ihre eigene Port-Einstellung aus PORT. Das Standard-Fast-Jar von Quarkus unter target/quarkus-app/ findet Nodion nicht: Starte es mit einer Procfile-Zeile wie web: java -Dquarkus.http.port=$PORT -jar target/quarkus-app/quarkus-run.jar oder bau ein Uber-Jar.

Was Nodion für dich betreibt

  • Deploys ohne Downtime Push auf deinen Branch und Nodion baut ein neues Release. Der Traffic wechselt erst, wenn die neuen Instanzen ihren Health Check bestehen; ein fehlgeschlagenes Release lässt das laufende stehen. Apps mit lokalem Volume starten stattdessen neu, weil die Disk zu einer Instanz gehört.
  • Datenbanken neben der App Managed PostgreSQL, pgvector, MySQL, Valkey und ClickHouse in derselben Region. Angehängte Datenbanken kommen als DATABASE_URL, REDIS_URL oder CLICKHOUSE_URL in die App.
  • Previews pro Pull Request Schalte Previews ein, und Pull Requests aus deinem Repository bekommen eine eigene App mit eigener URL und frischen, leeren Datenbanken, automatisch oder per Hand angelegt. Forks und Bot-Pull-Requests werden übersprungen.
  • Worker, Cron Jobs und Skalierung Worker laufen als weitere Prozesse derselben App, Jobs planst du auf dem Tab Cron, und jeden Prozess skalierst du auf bis zu 16 Instanzen.
  • Release-Schritt Mit Buildpacks läuft eine release:-Zeile in der Procfile bei jedem neuen Build. Dockerfile-Apps sowie Redeploys und Rollbacks auf ein früheres Image nutzen einen Release Command, der an der App selbst gesetzt ist; er hat auch Vorrang vor der Procfile-Zeile. Bei statischen Sites läuft ein Release-Schritt in einem Image, das nur die gebauten Dateien enthält.
  • Logs und Metriken Build-, Release- und Laufzeit-Logs sowie CPU-, Speicher-, Disk- und Netzwerk-Metriken für jede Instanz im Dashboard.
  • Domains und HTTPS Ein Default-Hostname mit HTTPS ab dem ersten Deploy; deine eigenen Domains bekommen automatisch Zertifikate.

Weiterlesen

Java auf Nodion: Fragen und Antworten

Welche Java-Versionen kann ich nutzen?

Temurin 11, 17, 21, 25, 26 und 27. Ohne Angabe bekommst du 21. Die Version legst du mit java.runtime.version in system.properties fest; Toolchain-Einstellungen von Maven und Gradle liest Nodion nicht.

Laufen meine Tests beim Deploy?

Nein. Gradle baut mit -x test, Maven mit -DskipTests, damit Deploys schnell bleiben. Lass deine Tests in der CI laufen, bevor du mergst.

Funktionieren Kotlin- und Scala-Projekte?

Ja, solange sie mit Maven oder Gradle bauen und ein lauffähiges Jar erzeugen. sbt-Projekte erkennt Nodion nicht; dafür nimmst du ein Dockerfile.

Wo läuft meine Java-App?

In der Region EU Central in Frankfurt. Build, Registry, die App und ihre Datenbanken, Volumes, Buckets, Logs und Metriken bleiben in dieser Region, API und Control Plane von Nodion werden in Deutschland gehostet. Die Nodion GmbH hat ihren Sitz in Stuttgart.

Kann ich Java DSGVO-konform betreiben?

Nodion schafft die Voraussetzungen dafür: Die Nodion GmbH hat ihren Sitz in Stuttgart, in der Region Frankfurt laufen App, Datenbanken und Volumes in Deutschland, und den Auftragsverarbeitungsvertrag (AVV) nach Art. 28 DSGVO schließt du im Dashboard elektronisch ab. Ob dein Einsatz DSGVO-konform ist, hängt auch davon ab, wie du die App konfigurierst und nutzt.

Was kostet Java-Hosting auf Nodion?

Eine App-Instanz gibt es ab 1 EUR im Monat. Das Setup im Kostenkasten kostet 5.50 EUR im Monat: App 4 EUR, PostgreSQL 1.50 EUR. Preise sind netto, Abrechnung pro Sekunde, größere Varianten oder mehr Instanzen wählst du jederzeit.

Kann ich eine eigene Domain für meine Java-App nutzen?

Ja. Jede App bekommt einen Default-Hostnamen mit HTTPS. Deine eigene Domain nimmst du auf dem Tab Domains dazu, das TLS-Zertifikat wird automatisch ausgestellt und erneuert.

Gibt es Support auf Deutsch?

Ja. Nodion ist ein deutsches Unternehmen mit Sitz in Stuttgart, der Support antwortet auf Deutsch und auf Englisch.

Gib deinem Agenten eine Cloud.

Bis zu 15 € Guthaben beim Registrieren.

Weiter mit GitHub

oder per E-Mail

Bleib auf dem Laufenden.

Produktnews, kein Spam. Jederzeit abbestellen.