web-dev-qa-db-fra.com

Application JavaFX avec Maven dans Eclipse

Je souhaite demander s’il existe une méthode permettant d’ajouter JavaFX à la liste d’archétypes Maven dans Eclipse ou d’autres plug-ins permettant d’utiliser Maven pour créer une application JavaFX.

7
Einsamer

Il y a le javafx-maven-plugin qui est disponible pour maven.

Lors du développement avec Java 8, vous devez simplement mettre ce plugin en tant que plug-in de construction, sans autres dépendances.

<plugin>
    <groupId>com.zenjava</groupId>
    <artifactId>javafx-maven-plugin</artifactId>
    <version>8.8.3</version>
    <configuration>
        <mainClass>your.main.class.which.extends.javafx.Application</mainClass>
    </configuration>
</plugin>

L'appel de mvn jfx:jar crée votre javafx-application-jar dans target/jfx/app/yourapp-jfx.jar ou même crée un programme de lancement natif (comme un fichier EXE) lors de l'appel de mvn jfx:native.

Disclaimer: Je suis le mainteneur du plugin javafx-maven.

14
FibreFoX

La seule chose que j’ajoute à mon pom.xml pour construire JavaFX Application est cette dépendance:

<dependency>
        <groupId>com.Oracle</groupId>
        <artifactId>javafx</artifactId>
        <version>2.2</version>
        <systemPath>${Java.home}/lib/ext/jfxrt.jar</systemPath>
        <scope>system</scope>
</dependency>

Il s'agit simplement de récupérer le fichier javafx dans mon JRE Java8 pour l'ajouter au projet . J'utilise ensuite le maven-Assembly-plugin pour construire le fichier jar avec des dépendances.

J'espère que ça aide.

6
Kwoinkwoin

juste faire comme une application Java commune parce que la version de JavaFX est passée à 8.0 Les supports pour JavaFX sont intégrés.

        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>exec-maven-plugin</artifactId>
            <version>1.6.0</version>
            <executions>
                <execution>
                    <id>run application</id>
                    <phase>package</phase>
                    <goals>
                        <goal>Java</goal>
                    </goals>
                    <configuration>
                        <mainClass>cn.keepfight.intro.FXParamApp</mainClass>
                        <arguments>
                            <!--<argument>-Dsun.Java2d.opengl=true</argument>-->
                        </arguments>
                    </configuration>
                </execution>
            </executions>
        </plugin>
0
卓建欢