Ошибка: модуль не найден: org.controlsfx.controls - PullRequest
0 голосов
/ 14 апреля 2020

Сначала я новичок в модульной системе Java ... Я хочу подключить библиотеку org.controlsfx.controls к своему приложению в качестве модуля. Я создал следующую module-info.java в своем проекте:

module yummy {
    requires org.controlsfx.controls;
    requires javafx.controls;
    requires javafx.fxml;

    opens com.contedevel.yummy.gui to javafx.fxml;
    opens com.contedevel.yummy.control to javafx.fxml;
    exports com.contedevel.yummy;
}

И build.gradle:

plugins {
    id 'application'
    id "org.beryx.jlink" version "2.17.5"
}

group 'com.contedevel'
version '1.0-SNAPSHOT'

application {
    mainClassName = 'com.contedevel.yummy.App'
    applicationName = 'yummy'
    applicationDefaultJvmArgs =  [
            "--add-opens=javafx.base/com.sun.javafx.runtime=org.controlsfx.controls",
            "--add-opens=javafx.base/com.sun.javafx.collections=org.controlsfx.controls",
            "--add-opens=javafx.graphics/com.sun.javafx.css=org.controlsfx.controls",
            "--add-opens=javafx.graphics/com.sun.javafx.scene=org.controlsfx.controls",
            "--add-opens=javafx.graphics/com.sun.javafx.scene.traversal=org.controlsfx.controls",
            "--add-opens=javafx.graphics/javafx.scene=org.controlsfx.controls",
            "--add-opens=javafx.controls/com.sun.javafx.scene.control=org.controlsfx.controls",
            "--add-opens=javafx.controls/com.sun.javafx.scene.control.behavior=org.controlsfx.controls",
            "--add-opens=javafx.controls/javafx.scene.control.skin=org.controlsfx.controls"
    ]
}

jlink {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher {
        name = 'yummy'
    }
    jpackage {
        resourceDir = file("$buildDir/resources")
    }
}

repositories {
    mavenCentral()
}

dependencies {
    implementation('org.controlsfx:controlsfx:11.0.1') {
        exclude group: 'org.openjfx'
    }
    compile 'org.webjars:font-awesome:5.13.0'
    testCompile 'junit:junit:4.12'
}

Но когда я запускаю свое приложение (./gradlew run), я получаю ошибка:

yummy/src/main/java/module-info.java:2: error: module not found: org.controlsfx.controls
    requires org.controlsfx.controls;

Самое интересное, что IntelliJ IDEA не показывает никаких ошибок в module-info.java.

Как подключить org.controlsfx.controls как модуль?

PS Мне не нужно подключать OpenJFX модули, потому что я использую Liberica 14 со встроенным OpenJFX

...