Skip to main content
Entwickler Themen
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Weitergabe

Es gibt mehrere Möglichkeiten, ein Java-Programm für die Weitergabe bereitzustellen:

  • JAR-Datei: Dabei wird eine Java Archive-Datei erstellt, die im Manifest die Abhängigkeiten referenziert. Diese Abhängigkeiten müssen separat mit der JAR-Datei verteilt werden. Auf dem Zielsystem muss außerdem eine passende Java Runtime vorhanden sein.

  • Fat-JAR: Hierbei werden alle Abhängigkeiten direkt in eine einzige JAR-Datei verpackt. Dies vereinfacht die Verteilung, kann aber zu Problemen führen, etwa durch Kollisionen von Signaturen, Ressourcen-Dateien oder Java-Services. Eine passende Java Runtime ist weiterhin notwendig.

  • Image (mittels JPackage): Ein vollständiges Image enthält neben der eigentlichen Anwendung auch eine Java Runtime. Dies erleichtert die Installation, erhöht jedoch deutlich die Dateigröße.

  • Native Image (mittels GraalVM): Der Quellcode wird in ein natives Executable übersetzt, das keine separate Java-Runtime mehr braucht. Die Datei ist nicht automatisch kleiner als ein JPackage-Image. Es wird eine native Toolchain benötigt (gcc, Xcode oder Visual Studio). Dynamisches Classloading und ähnliche Java-Funktionen sind eingeschränkt.

  • Docker und ähnliche Containerlösungen: Für Server-Anwendungen oft der praktischste Weg. Hier nicht weiter ausgeführt.