Ich habe javaFX Projekt, mit dem ich an der Eclipse IDE arbeite. Dies ist Maven-Projekt mit der Nutzung von Spring. Mein Ziel ist es, eine lauffähige JAR-Datei (Dekstop-Anwendung) aus diesem Projekt zu machen.
Wenn ich meine Anwendung wie jedes andere Java-Projekt in die JAR-Datei exportiere, dann erhalte ich dies bei einem Fehler:
%Vor%Wenn ich versuche, mit javafxpackager eine JAR-Datei zu erstellen, erhalte ich diesen einen Fehler:
%Vor%Also, wie kann ich eine lauffähige JAR-Datei erstellen, ohne mein Projekt in NetBeans-Projekt zu konvertieren?
Da Sie Maven für Ihre Builds verwenden, können Sie Maven auch verwenden, um das JavaFX-Packaging zu initiieren. Verwenden Sie dazu das Maven antrun Plug-in, um die JavaFX-Ant-Aufgaben , um mit einem eingebetteten JavaFX-Launcher ein jar für Ihre Anwendung zu generieren. Hier ist ein Beispiel-Maven-Pom , um dies zu tun.
Ihre Fehler beim Ausführen des javafx-Packers sind darauf zurückzuführen, dass der Klassenpfad für den Packager nicht ordnungsgemäß festgelegt wurde. Ein Beispiel für das Festlegen des Klassenpfads für den javafx-Paketverwalter zum Packen einer Anwendung, die auf abhängigen lib-Einträgen beruht, finden Sie in diesem Build-Skript .
Die nicht gelösten Linkfehler sind darauf zurückzuführen, dass Sie die erforderlichen lib-DLLs in einem ../bin-Verzeichnis nicht relativ zum Laufzeitspeicherort von jfxrt.jar einschließen, wenn Sie Ihre App ausführen. Eventuell packen Sie Ihre Anwendung auch nicht korrekt mit einem JavaFX-Launcher (über die Ausführung der empfohlenen javafx ant-Tasks oder javafxpackager-Befehle, um Ihre JavaFX-Anwendung jar zu generieren).
Aktualisieren
Für Maven-basierte Builds von JavaFX-Anwendungen können Sie jetzt ein Maven JavaFX-Plugin verwenden.
Der Verdacht, dass das zugrunde liegende Problem auf eine Inkompatibilität zwischen jfxrt.jar und der installierten Java-Version zurückzuführen ist, funktionierte für mich. Die jfxrt.jar, die die Anwendung verwendete, war kompatibel mit jdk-7u71, aber die Anwendung befand sich auf einem Rechner, auf dem JAVA_HOME auf 7.0.05 gesetzt war. Also habe ich jdk-7u71 auf dem Problem-Rechner installiert und JAVA_HOME aktualisiert.
Tags und Links javafx-2