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

Beitrag lesen

Hallo,

Versuch doch einfach mal Dein(e) jar-File(s) auf einer (virtuellen) Maschine auszuführen, die nur die JRE und darin JavaFX installiert hat...

JavaFX ist nicht mehr Teil des SDKs, sodass dies ein manuelles Nachinstallieren erfordert. Dies will ich dem Endanwender nicht auferlegen. Das von Dir beschriebene Szenario funktioniert, wie man durch Verwendung von Java 9 und 10 leicht verifizieren kann.

Das libs (z.B. für den Datenbankzugriff) vorhanden sein müssen war schon immer so.

Ja, aber diese waren meist nicht abhängig von der Plattform. Ich kann bspw. - um bei Deinen Beispiel zu bleiben - die hsqldb.jar in den CLASSPATH legen. Diese Bibliothek wird dann von allen OS einheitlich akzeptiert.

Wenn Du aber bisher schon Standalone-Applications (.exe, ...) erzeugt und ausgeliefert hast, dann ist der Packer dafür zuständig, neben dem Deinem Prälompilat-Zeug auch die eingebunden, also benötigten(!) libs und natürlich den Java-Interpreter zu liefern.

Bisher habe ich einfach meinen Kram (inkls. der externen Bibliotheken) kompiliert und ausgeliefert. Bezüglich der Plattform beim Endanwender musste ich mir keine Gedanken machen. Insofern war es nicht nötig, plattformspezifische Anwendungen zu erzeugen; und eigentlich würde ich dies auch gern vermeiden - aber wie?

Wenn die die JARs von JavaFX einheitlich wären, wäre es vermutlich recht einfach. Da diese scheinbar auch plattformspezifisch sind, hätte ich gleichnamige JARs, die nicht kombinierbar sind. Ich verstehe daher nicht, wie in diesem Video-Tutorial Maven mit den unterschiedlichen aber gleichnamigen JARs umgeht.

Aber wenn ich ehrlich bin, werde ich wohl keine große Hilfe sein.

Du bist immerhin der einzige, der überhaupt hilft. ;-) Insofern bin ich für jeden Vorschlag offen.

Viele Grüße Michae1