# PR#8: Das Backend auf Temurin 25, mit eigener Laufzeit aus jlink > **WARNUNG:** Dieses Dokument beschreibt nur die Änderung dieses PR. > Nach dem nächsten Merge kann es schon veraltet sein; es wird nicht nachgepflegt. ## Verweise - [werkregie PR#20](https://git.javagil.de/mi/werkregie/pulls/20) und [PR#22](https://git.javagil.de/mi/werkregie/pulls/22): ADR 0001, Temurin 25 als JDK und Laufzeit aller werk-Repositories, geladen mit Foojay. ## Das Problem ADR 0001 legt für alle werk-Repositories Temurin 25 fest und für jeden Dienst eine Laufzeit, die jlink daraus schneidet. Das Backend baut mit einem beliebigen JDK 21 und läuft auf dem Server auf einem ganzen JDK 21 im Home, das `scripts/install-jdk.sh` einmalig dorthin legt (D77). ## Nicht das Ziel - Keine Änderung an Notation, Editor oder Verhalten des Backends. ## Die Lösung - Toolchain Temurin 25, Kotlin 2.4.21, Foojay 1.0.0. - Die Aufgabe `runtime` schneidet die Laufzeit des Backends mit jlink aus der Toolchain. - `scripts/deploy-backend.sh` überträgt sie mit dem Jar; die Unit startet das Backend damit. - `scripts/install-jdk.sh` und `remote backend install-jdk` entfallen; `BACKEND_JDK_DIR` nimmt weiter ein anderes Java. - D99 hält die Entscheidung fest; im Plan löst `#bld.backend.jre` den Knoten `#bld.backend.jdk` ab. - Lokal geprüft: `check` hält auf Temurin 25, samt Coverage-Grenze; das Backend startet auf der Laufzeit aus jlink und antwortet auf `GET /api/v1/info`. - Keine Zeile im CHANGELOG: Im Editor ändert sich nichts. ## Offene Fragen - [ ] TODO.deploy: Der erste Deploy auf mih00 bringt die Laufzeit; danach kann `~/opt/jdk21` weg.