Michae1: JavaFX und Java 11: Bereitstellung der externen Module bei Programmabgabe

Beitrag lesen

Hallo,

ich weiß, es ist kein Java Forum hier aber aus der Vergangenheit weiß ich, dass hier auch einige Java-Entwickler mitlesen und mir ggf. weiterhelfen können.

Ich habe begonnen, mich in JavaFX ein wenig einzuarbeiten, da SWING auf 4K-Bildschirmen keine Option mehr ist. In Java 10 war JavaFX noch Teil des SDKs. Durch die Modularisierung des SDKs ist JavaFX nicht mehr Bestandteil von Java in der Version 11 und wird separat entwickelt.

Ich habe im Netz Tutorials gefunden, die mir erklären, wie ich bei der Entwicklung von Applikationen mit dieser Modularisierung umgehen kann. Dies konnte ich soweit auch nachvollziehen. Was ich im Moment aber nicht direkt nachvollziehen kann ist, wie man ein fertiges kompiliertes Programm für einen Endanwender bereitstellt.

Unter Java 10 war JavaFX noch Teil des SDK und der Endanwender musste lediglich die Laufzeitumgebung installiert haben. Die erstellte Applikation konnte dann direkt ausgeführt werden.

Wie sieht dies Szenarium unter Java 11 aus? Der Endanwender verfügt nun nicht mehr über die JavaFX-Erweiterung, wenn dieser das SDK-11 installiert hat. Sind jetzt zusätzlich zur eigentlichen Applikation auch die JavaFX-Module mit auszuliefern/bereitzustellen? Meine Applikation benötigt derzeit kaum Speicher. Das JavaFX-Modul für Windows ist allein schon > 70 MB groß. Dies ist 10-mal mehr als meine Anwendung.

Ausgehend davon, dass das JavaFX-Modul mit beigelegt werden muss, wie erhält man die Plattformunabhängigkeit? Das Modul wird für verschiedene Plattformen zusammen mit nativen Files bereitgestellt. Die jar-Files in den plattformabhängigen Paketen sind nicht identisch. Muss nun für jede Plattform, die unterstützt werden soll, das Programm separat vorgehalten werden?

Viele Grüße Michae1