Eclipse中带Maven的JavaFX应用程序
我想问一下,是否有任何方法可以将JavaFX添加到Eclipse中的Maven原型列表中,或者有任何插件可以使用Maven来构建JavaFX应用程序。为了构建JavaFX应用程序,我唯一要添加到我的Eclipse中带Maven的JavaFX应用程序,maven,javafx,javafx-2,maven-3,javafx-8,Maven,Javafx,Javafx 2,Maven 3,Javafx 8,我想问一下,是否有任何方法可以将JavaFX添加到Eclipse中的Maven原型列表中,或者有任何插件可以使用Maven来构建JavaFX应用程序。为了构建JavaFX应用程序,我唯一要添加到我的pom.xml中的是以下依赖项: <dependency> <groupId>com.oracle</groupId> <artifactId>javafx</artifactId> <v
pom.xml
中的是以下依赖项:
<dependency>
<groupId>com.oracle</groupId>
<artifactId>javafx</artifactId>
<version>2.2</version>
<systemPath>${java.home}/lib/ext/jfxrt.jar</systemPath>
<scope>system</scope>
</dependency>
com.oracle
javafx
2.2
${java.home}/lib/ext/jfxrt.jar
系统
它只是在我的Java8JRE中获取JavaFXJAR,将其添加到项目中。
然后,我使用maven汇编插件
构建带有依赖项的jar
<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>
希望有帮助。maven可以使用
使用Java8开发时,您只需将该插件作为一些构建插件,而无需进一步依赖
<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>
com.zenjava
javafxmaven插件
8.8.3
your.main.class.which.extends.javafx.Application
调用mvnjfx:jar
会在target/jfx/app/yourappjfx.jar
中创建javafx应用程序jar,甚至在调用mvnjfx:native
时创建本机启动器(如EXE文件)
免责声明:我是javafx maven插件的维护者。只需像普通Java应用程序那样做,因为javafx版本已经升级到了8.0。对JavaFX的支持是内置的
<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>
org.codehaus.mojo
execmaven插件
1.6.0
运行应用程序
包裹
JAVA
cn.keepfight.intro.FXParamApp
org.apache.maven.plugins
maven汇编插件
3.2.0
组装
包裹
单一的
带有依赖项的jar
com.main类
此答案从位于的文档中复制。更详细的信息(包括完整的示例pom.xml参考)可以在提供的链接中找到
pom使用JavaFX Maven插件:
<plugins>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.3</version>
<configuration>
<mainClass>HelloFX</mainClass>
</configuration>
</plugin>
</plugins>
org.openjfx
javafxmaven插件
0.0.3
海洛夫
添加maven依赖项:
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>13</version>
</dependency>
</dependencies>
org.openjfx
javafx控件
13
运行应用程序(例如,基于参考样本中的HelloFX.java):
mvn clean javafx:run
关于其他过时答案的注意事项
com.zenjava
javafxmaven插件
,这些答案已经过时,因为该插件没有编码为与最新的javafx版本一起使用。对于Java版本10+,应使用org.openjfx
javafxmaven插件
李>
它有点过时,而且还没有完全完成,但您可以使用我们的配置创建网站:它仅适用于maven,或者我们可以将其与eclipse集成。我的意思是像eclipse上的应用程序一样运行。maven插件只是包装了javapackager的命令行调用。您应该能够创建自己的run命令来执行
java-jar target/jfx/app/yourapp jfx.jar
。运行javafx应用程序是不同的,因为JVM参数的可能性,所以仅仅调用main方法并不是javafx应用程序的工作方式。正确的(当前)答案可在此处找到: