Gradle 使用jlink使用Time4J CalendarPicker创建运行时映像时出错

Gradle 使用jlink使用Time4J CalendarPicker创建运行时映像时出错,gradle,javafx,jlink,time4j,Gradle,Javafx,Jlink,Time4j,我正在使用的是的波斯日历选择器 当我使用/gradlew run运行应用程序时,我看到它正在运行。但是,当我启动应用程序的JavaFX运行时映像(我使用构建)时,会出现以下错误: Caused by: java.util.ServiceConfigurationError: net.time4j.engine.ChronoExtension: module alif.pooya.merged.module does not declare `uses` at java.base/java

我正在使用的是的波斯日历选择器

当我使用
/gradlew run
运行应用程序时,我看到它正在运行。但是,当我启动应用程序的JavaFX运行时映像(我使用构建)时,会出现以下错误:

Caused by: java.util.ServiceConfigurationError: net.time4j.engine.ChronoExtension: module alif.pooya.merged.module does not declare `uses`
    at java.base/java.util.ServiceLoader.fail(Unknown Source)
    at java.base/java.util.ServiceLoader.checkCaller(Unknown Source)
    at java.base/java.util.ServiceLoader.<init>(Unknown Source)
    at java.base/java.util.ServiceLoader.load(Unknown Source)
    at alif.pooya.merged.module@1.0-SNAPSHOT/net.time4j.base.ResourceLoader$StdResourceLoader.services(Unknown Source)
    at alif.pooya.merged.module@1.0-SNAPSHOT/net.time4j.PlainDate.registerExtensions(Unknown Source)
    at alif.pooya.merged.module@1.0-SNAPSHOT/net.time4j.PlainDate.<clinit>(Unknown Source)
    at alif.pooya.merged.module@1.0-SNAPSHOT/net.time4j.tz.repo.TimezoneRepositoryProviderSPI.<init>(Unknown Source)
    at alif.pooya.merged.module@1.0-SNAPSHOT/net.time4j.tz.repo.TZDATA.init(Unknown Source)
    at alif_chat_desktop@1.0-SNAPSHOT/main.MainApp.start(Unknown Source)
我还将此用于build.gradle:

plugins {
    id 'application'
    id 'org.openjfx.javafxplugin' version '0.0.9'
    id 'org.beryx.jlink' version '2.21.4'
}

group 'alif.pooya'
version '1.0-SNAPSHOT'

repositories {
    mavenCentral()
    jcenter()
}

javafx {
    version = "15"
    modules = ['javafx.base', 'javafx.graphics', 'javafx.controls', 'javafx.web','javafx.fxml']
}

dependencies {
    compile group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.7.2'
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.6'
    compile group: 'org.java-websocket', name: 'Java-WebSocket', version: '1.5.1'
    compile group: 'com.jfoenix', name: 'jfoenix', version: '9.0.8'
    compile group: 'net.time4j', name: 'time4j-ui', version: '5.7'
    compile group: 'net.time4j', name: 'time4j-tzdata', version: '5.0-2020a'

}

mainClassName = "$moduleName/main.MainApp"

jlink {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    
    launcher {
        name = 'AlifChatDesktop'
        jvmArgs = [
                '-Dnet.time4j.base.useClassloaderOnly=true'
        ]

    }
    
    addExtraDependencies("javafx")
    
}
这是我的module-info.java:

module alif_chat_desktop {

    requires javafx.controls;
    requires javafx.fxml;
    requires okhttp3;
    requires okio.jvm;
    requires kotlin.stdlib.common;
    requires annotations;
    requires Java.WebSocket;
    requires com.jfoenix;
    requires com.google.gson;
    requires slf4j.api;

    requires net.time4j.base;
    requires net.time4j.ui;
    requires net.time4j.tzdb;

    opens main to javafx.fxml;

    exports main;
}

错误消息听起来好像模块信息中缺少以下行:
使用net.time4j.engine.ChronoExtension。也许更多与资源加载相关的Time4J服务接口也需要通过extra-uses指令来引用。试一试。即使添加使用net.time4j.engine.ChronoExtension,我仍然会遇到相同的错误;在我的模块信息。java@MenoHochschild您在github中是否有任何用于jlink和javafx获取运行时映像的示例?我的问题是,即使它需要在模块信息中声明用途,在gradle中运行任务时也应该需要它,但在运行时,它工作正常,没有错误,当我使用jlink创建运行时映像时,我在运行映像“您在github中有任何示例吗?…”-后出现错误,我想向您请求相同的内容,@pooya。如果要下载和检查,您将更有可能获得问题的解决方案;并且更快。TIA。
module alif_chat_desktop {

    requires javafx.controls;
    requires javafx.fxml;
    requires okhttp3;
    requires okio.jvm;
    requires kotlin.stdlib.common;
    requires annotations;
    requires Java.WebSocket;
    requires com.jfoenix;
    requires com.google.gson;
    requires slf4j.api;

    requires net.time4j.base;
    requires net.time4j.ui;
    requires net.time4j.tzdb;

    opens main to javafx.fxml;

    exports main;
}