首页 >> 大全

JavaFX基础:2:使用javafx-maven

2023-09-16 大全 25 作者:考证青年

-maven-是一个Maven的插件,用于提供在Maven中管理应用的方式。只需要通过mvn jfx:run即可运行应用。在这篇文章中,我们利用在IDEA的IDEA中生成的代码,结合-maven-介绍如何在mvn中进行应用的构建和运行。

事前准备 代码构成

准备如下4个文件和对应的目录结构

liumiaocn:JavaFXSample liumiao$ tree .
.
├── pom.xml
└── src└── main├── java│   └── com│       └── liumiaocn│           └── javademo│               ├── Controller.java│               └── Main.java└── resources└── fxml└── sample.fxml8 directories, 4 files
liumiaocn:JavaFXSample liumiao$ 

代码详细

liumiaocn:JavaFXSample liumiao$ cat src/main/java/com/liumiaocn/javademo/Main.java 
package com.liumiaocn.javademo;import javafx.application.Application;
import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;public class Main extends Application {@Overridepublic void start(Stage primaryStage) throws Exception{Parent root = FXMLLoader.load(getClass().getResource("/fxml/sample.fxml"));primaryStage.setTitle("Hello LiuMiao");primaryStage.setScene(new Scene(root, 600, 600));primaryStage.show();}public static void main(String[] args) {launch(args);}
}
liumiaocn:JavaFXSample liumiao$

注意事项:().获取的是相对目录下的内容

liumiaocn:JavaFXSample liumiao$ cat src/main/java/com/liumiaocn/javademo/Controller.java 
package com.liumiaocn.javademo;public class Controller {
}
liumiaocn:JavaFXSample liumiao$

liumiaocn:JavaFXSample liumiao$ cat src/main/resources/fxml/sample.fxml 
<?import javafx.geometry.Insets?>
<?import javafx.scene.layout.GridPane?><?import javafx.scene.control.Button?>
<?import javafx.scene.control.Label?>
<GridPane fx:controller="com.liumiaocn.javademo.Controller"xmlns:fx="http://javafx.com/fxml" alignment="center" hgap="10" vgap="10">
</GridPane>
liumiaocn:JavaFXSample liumiao$

注意事项:此处的fx:中的的设定需要进行设定,不然运行时无法会提示FXML相关的load的错误,非常容易陷入没有找到fxml文件的误解中,实际是运行时找到了fxml文件但是未曾找到此文件中设定的

liumiaocn:JavaFXSample liumiao$ cat pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0modelVersion><groupId>com.liumiaocngroupId><artifactId>javademoartifactId><version>0.0.1-SNAPSHOTversion><packaging>jarpackaging><name>javafxdemoname><description>JavaFX demo projectdescription><build><plugins><plugin><groupId>com.zenjavagroupId><artifactId>javafx-maven-pluginartifactId><version>8.8.3version><configuration><mainClass>com.liumiaocn.javademo.MainmainClass>configuration>plugin>plugins>build>project>
liumiaocn:JavaFXSample liumiao$

注意事项:是唯一需要设定的内容,设定入口所在类即可。

注意事项:使用的-maven-的版本为8.8.3,为当前(2019/5/3)的最新版本。

基础护肤品使用_cpb基础套装使用顺序_

执行确认

执行mvn clean jfx:run即可运行

执行命令:mvn clean jfx:run

执行示例如下所示:

liumiaocn:JavaFXSample liumiao$ mvn clean jfx:run
[INFO] Scanning for projects...
[INFO] 
[INFO] -----------------------< com.liumiaocn:javademo >-----------------------
[INFO] Building javafxdemo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ javademo ---
[INFO] 
[INFO] >>> javafx-maven-plugin:8.8.3:run (default-cli) > :jar @ javademo >>>
[INFO] 
[INFO] >>> javafx-maven-plugin:8.8.3:jar (jar) > [jfxjar]package @ javademo >>>
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ javademo ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 1 resource
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:compile (default-compile) @ javademo ---
[INFO] Changes detected - recompiling the module!
[WARNING] File encoding has not been set, using platform encoding UTF-8, i.e. build is platform dependent!
[INFO] Compiling 2 source files to /Users/liumiao/easypack/containers/alpine/maven/demo/JavaFXSample/target/classes
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ javademo ---
[WARNING] Using platform encoding (UTF-8 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory /Users/liumiao/easypack/containers/alpine/maven/demo/JavaFXSample/src/test/resources
[INFO] 
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ javademo ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ javademo ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ javademo ---
[INFO] Building jar: /Users/liumiao/easypack/containers/alpine/maven/demo/JavaFXSample/target/javademo-0.0.1-SNAPSHOT.jar
[INFO] 
[INFO] <<< javafx-maven-plugin:8.8.3:jar (jar) < [jfxjar]package @ javademo <<<
[INFO] 
[INFO] 
[INFO] --- javafx-maven-plugin:8.8.3:jar (jar) @ javademo ---
[INFO] Building JavaFX JAR for application
[INFO] Adding 'deploy' directory to Mojo classpath: /Users/liumiao/easypack/containers/alpine/maven/demo/JavaFXSample/src/main/deploy
[INFO] 
[INFO] <<< javafx-maven-plugin:8.8.3:run (default-cli) < :jar @ javademo <<<
[INFO] 
[INFO] 
[INFO] --- javafx-maven-plugin:8.8.3:run (default-cli) @ javademo ---
[INFO] Running JavaFX Application

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了