1.错误: 缺少 JavaFX 运行时组件, 需要使用该组件来运行此应用程序
1.1使用jar包导入
jar包导入之后,还需要添加VM options
打开运行配置(Run -> Edit Configurations)。
在 VM options 中添加以下参数:
--module-path /path/to/javafx-sdk-21.0.5/lib --add-modules javafx.controls,javafx.fxml
替换 /path/to/javafx-sdk-21.0.5/lib 为你的 JavaFX SDK 路径。
1.2使用maven引入依赖
引入依赖之后还要添加插件
<dependencies>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>23.0.1</version>
</dependency>
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-fxml</artifactId>
<version>23.0.1</version>
</dependency>
</dependencies>
<!-- 构建项 -->
<build>
<!-- 添加插件 -->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>23</source>
<target>23</target>
</configuration>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.8</version>
<configuration>
<mainClass>sample.Main</mainClass>
</configuration>
</plugin>
</plugins>
</build>
2.警告: Loading FXML document with JavaFX API of version 23.0.1 by JavaFX runtime of version 18.0.2
是因为maven引入的依赖 与fxml中的javafx版本不一致 改成一样的即可
3.警告: Unsupported JavaFX configuration: classes were loaded from 'unnamed module @1db7285'
是因为缺少了module-info.java文件
module org.sample {
requires javafx.controls;
requires javafx.fxml;
opens org.sample to javafx.fxml;
exports org.sample;
}
org.sample是包名
将需要的javafx组件都requires进去就能解决