GOOGLE ADS

Samstag, 30. April 2022

Was ist der beste Weg, um JavaFX-Anwendungen bereitzustellen, JAR- und eigenständige Anwendungen und native Installationsprogramme zu erstellen

Ich verwende IntelliJ IDEA und habe meine JavaFX-Anwendung bereit für die Bereitstellung. Das Problem ist, dass, wenn ich die JAR-Datei generiere, sie nicht ausgeführt wird, wenn ich sie in der Befehlszeile ausführe, erhalte ich eine Ausnahme, FXMLLoadException, obwohl das Projekt in meiner IDE perfekt funktioniert.

Ameisenaufgaben enden mit Fehlern, nach 15 Minuten Bauzeit verstehe ich wirklich nicht, was genau das Problem ist.

Meine Frage also, was die richtigen Schritte sind, um eine JavaFX-Anwendung richtig bereitzustellen, jedes Tutorial oder jede Anleitung ist willkommen.


Lösung des Problems

Eine Java-Anwendung kann auf verschiedene Weise verpackt werden. Bitte sehen Sie sich die Java-Packaging-Übersicht an, um alles darüber zu erfahren. Eine der Verpackungen ist eine self-contained Java application.

Es gibt verschiedene Möglichkeiten, diese Pakete zu erstellen:


  • Verwenden Sie die javapackagerTools, die mit Ihrem JDK geliefert werden

  • JavaFX Ant-Aufgaben

  • JavaFX Maven Plugin für ein Maven-Projekt


Eigenständige Anwendung ist eine der Möglichkeiten, wie Ihre Anwendung paketiert werden kann und plattformspezifisch ist. Das Paket enthält:


  • Das Bewerbungspaket

  • Eine private Kopie der JRE


Eine Liste der verfügbaren Bundles finden Sie hier.

Schauen wir uns die verschiedenen Tools an, die uns zur Verfügung stehen, und wie man sie verwendet:

JavaPackager-Tool

JavaPackager Tool ist das einfachste Tool und hilft Ihnen beim Kompilieren, Packen, Signieren und Bereitstellen Ihrer Java(FX)-Anwendungen, ohne zusätzliche Skripte schreiben zu müssen. Die javapackager.jarDatei befindet sich im bin-Verzeichnis der JDK-Installation.

Die Liste der Befehle, die damit verwendet werden können, ist hier verfügbar.

JavaFX Ant-Aufgaben

JavaFX Ant Tasks hilft Ihnen, Ihre Anwendung zu verpacken, indem Sie einfach eine build.xmlDatei für Ihr Projekt erstellen.

Eine Reihe von Beispielen zur Verwendung von Ant-Skripten für Ihr Projekt finden Sie hier.

Die Liste der Befehle, die damit verwendet werden können, ist hier verfügbar.

JavaFX-Maven-Plugin

Das JavaFX-Maven-Plug -in nutzt die Verwendung von Java-Anwendungspaketen für die Maven-Plattform. Sie können es verwenden, um Ihre Maven-basierte Java-Anwendung zu verpacken, indem Sie dem Projekt ein Plugin hinzufügen.

Dieses Plugin IMHO, wenn das easiestvon den dreien verwendet werden soll. Es ist ein sehr gut geschriebenes, leicht verständliches Tool und verfügt über eine umfangreiche Dokumentation.

JavaFX-Gradle-Plugin

Das JavaFX Gradle Plugin stammt ebenfalls vom Autor des Maven-Plugins. Es hat alle Funktionen, die das Maven-Plugin hat, aber für Gradle:)

Weiterführende Literatur:


  • Native Paketierung für JavaFX

  • Aktualisierung der JavaFX-Paketierungstools

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...