如何在Eclipse中创建Maven管理的JavaFX项目?配置报错求解决方案
Eclipse中创建Maven管理的JavaFX项目的正确步骤
先修正你当前POM的错误
你的pom.xml里存在一处关键错误,还有可优化的地方:
javafx-maven-plugin的mainClass配置不该带.java后缀,需使用纯全类名- 建议添加
javafx-fxml依赖(若使用FXML界面) - 明确指定Java版本,避免跨版本兼容性问题
修正后的完整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 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.tensorApplication</groupId> <artifactId>billingWizard</artifactId> <version>0.0.1-SNAPSHOT</version> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>17</maven.compiler.source> <maven.compiler.target>17</maven.compiler.target> <javafx.version>17.0.1</javafx.version> <javafx.maven.plugin.version>0.0.8</javafx.maven.plugin.version> </properties> <dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>${javafx.version}</version> </dependency> <!-- 若使用FXML界面,添加以下依赖 --> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>${javafx.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>${javafx.maven.plugin.version}</version> <configuration> <mainClass>com.tensorApplications.jBills.Main</mainClass> </configuration> </plugin> </plugins> </build> </project>
Eclipse中完整创建步骤
新建Maven项目
- 打开Eclipse,依次点击
File > New > Maven Project - 勾选
Create a simple project,点击Next - 填写Group Id(如
com.tensorApplication)、Artifact Id(如billingWizard),点击Finish
- 打开Eclipse,依次点击
导入修正后的POM
- 打开项目自动生成的
pom.xml,替换为上面的修正版本 - 保存后,Eclipse会自动下载JavaFX依赖(若未自动下载,右键项目 > Maven > Update Project)
- 打开项目自动生成的
创建主类
- 在
src/main/java下创建包com.tensorApplications.jBills - 在该包下创建
Main类,代码示例:package com.tensorApplications.jBills; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.layout.StackPane; import javafx.stage.Stage; public class Main extends Application { @Override public void start(Stage primaryStage) { Label label = new Label("Hello JavaFX!"); StackPane root = new StackPane(label); Scene scene = new Scene(root, 300, 200); primaryStage.setTitle("Billing Wizard"); primaryStage.setScene(scene); primaryStage.show(); } public static void main(String[] args) { launch(args); } }
- 在
运行项目
- 右键项目,选择
Run As > Maven Build... - 在弹出的窗口中,Goals栏输入
javafx:run,点击Run即可启动应用
- 右键项目,选择
打包项目
- 若要生成可执行镜像:右键项目 > Run As > Maven Build...,Goals输入
javafx:jlink - 若要生成jar包:Goals输入
javafx:jar,生成的jar在target目录下
- 若要生成可执行镜像:右键项目 > Run As > Maven Build...,Goals输入
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

