【问题标题】:JavaFX runtime components are missing error in Java Gradle ProjectJava Gradle 项目中的 JavaFX 运行时组件丢失错误
【发布时间】:2021-06-28 05:49:10
【问题描述】:

我用 java 启动了一个 Gradle 项目,我想添加 JavaFx 库,但是当我运行我的应用程序时,我得到“JavaFX 运行时组件丢失,并且需要运行这个应用程序”。 这是我的 Gradle 文件:

plugins {
    id 'java'
    id 'org.openjfx.javafxplugin' version '0.0.9'
}

group 'org.personal'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
}

javafx {
    version = "15.0.1"
    modules = [ 'javafx.controls', 'javafx.fxml' ]
}



dependencies {
    testImplementation 'org.junit.jupiter:junit-jupiter-api:5.6.0'
    testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine'
}

test {
    useJUnitPlatform()
}


这是主类:


package client;


import javafx.application.Application;
import javafx.stage.Stage;


public class ClientApp extends Application {
   

    public static void main(String[] args) {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage) throws Exception {

    }
}

这是我的“编辑配置”:Edit Configuration here

【问题讨论】:

  • 欢迎您,感谢您提供优质信息!我没有答案,但我想补充一点,尽管这绝对是一种观点,我发现在问题中内联显示图像时更方便,因此您不必使用外部链接。祝你好运!

标签: java gradle javafx


【解决方案1】:

您需要将 JavaFX JDK 库添加到路径中。否则,您需要使用集成了 JavaFX SDK 的 JDK 8 (JDK1.8)

【讨论】:

  • 在编辑配置中添加 --module-path $PATH_TO_FX$ 这是 JAvaFX 库的路径
  • 是的,这应该可以解决问题。我想说,如果您使用的是 JDK 9+ 并且设置了模块信息文件,则至少需要 javafx.control(如果您使用 FXML,您还需要“require javafx.fxml” )
  • 好的....我设置了 fx 的 del 路径,但我没有设置模块信息文件。我在哪里可以找到它?
  • 你必须在你的包文件夹中创建它。
猜你喜欢
  • 1970-01-01
  • 2021-09-03
  • 1970-01-01
  • 2019-02-07
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 2020-05-21
相关资源
最近更新 更多