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
javapackager
Tools, 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.jar
Datei 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.xml
Datei 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 easiest
von 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