Wie man eine JAR-Datei aus dem javaFX-Projekt erstellt

9

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?

    
Agafonova Victoria 05.07.2012, 17:17
quelle

2 Antworten

5

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.

    
jewelsea 05.07.2012, 18:59
quelle
0

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.

    
Chris Murphy 04.12.2014 02:24
quelle

Tags und Links