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进去就能解决

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐