¿Por qué recibo la advertencia “Esta construcción utilizó funciones obsoletas de Gradle, lo que la hace incompatible con Gradle 8.0”?
Al ejecutar con el parámetro –warning-mode con la opción all, obtengo lo siguiente.
La propiedad JavaExec.main ha sido obsoleta. Se tiene programado su eliminación en Gradle 8.0. Por favor, use la propiedad mainClass en su lugar. Vea https://docs.gradle.org/7.3/dsl/org.gradle.api.tasks.JavaExec.html#org.gradle.api.tasks.JavaExec:main para más detalles.
Pero yo no uso este parámetro, uso mainClass.
build.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'
}
}
davy.ai
El mensaje de advertencia que recibió al ejecutar con la bandera
--warning-mode all
indica que la propiedadJavaExec.main
está obsoleta en Gradle 7.3 y se eliminará en Gradle 8.0. En lugar de usar este parámetro, debe usar la propiedadmainClass
, como ya lo está haciendo en su archivobuild.gradle
.Dado que no está utilizando la propiedad
JavaExec.main
en su configuración y ya ha especificado la propiedadmainClass
en el bloqueapplication
, puede ignorar el mensaje de advertencia de manera segura.