为什么我收到警告“此构建使用了过时的 Gradle 函数,这使得它与 Gradle 8.0 不兼容”。?

San*_*ica 7 java gradle build.gradle

当使用--warning-mode all 键运行时,我得到以下信息。

The JavaExec.main property has been deprecated. This is scheduled to be removed in Gradle 8.0. Please use the mainClass property instead. See https://docs.gradle.org/7.3/dsl/org.gradle.api.tasks.JavaExec.html#org.gradle.api.tasks.JavaExec:main for more details.
Run Code Online (Sandbox Code Playgroud)

但我不使用这个参数,我使用mainClass

构建.gradle

plugins {
    id 'application'
    id 'org.openjfx.javafxplugin' version '0.0.10'
    id 'org.beryx.jlink' version '2.24.4'
}

repositories {
    mavenCentral()
}

application {
    mainModule = 'pigletmodule'
    mainClass = 'piglet.Main'
}

javafx {
    version = "17.0.1"
    modules = ['javafx.controls']
}

jlink {
    options = ['--strip-debug', '--compress', '2', '--no-header-files', '--no-man-pages']
    launcher {
        name = 'piglet'
    }
}
Run Code Online (Sandbox Code Playgroud)

Ort*_*kni 2

正如评论中正确猜测的那样,弃用警告来自 javafx 问题。有一个关于此的开放问题

在当前的稳定版本中,当我运行它时会收到警告。

.\gradlew run --stacktrace --warning-mode all
Run Code Online (Sandbox Code Playgroud)

JavaExec.main 属性已被弃用。这计划在 Gradle 8.0 中删除。请改用 mainClass 属性。请参阅https://docs.gradle.org/7.2/dsl/org.gradle.api.tasks.JavaExec.html#org.gradle.api.tasks.JavaExec:main了解更多详细信息。看来是gradle-modules-plugin的问题。另外,在该插件的当前版本中,该问题已得到解决。

我可以修复它并发送 PR 吗?