es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿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'
    }
}
Tags:  , ,

Answer

  1. Avatar for davy.ai

    El mensaje de advertencia que recibió al ejecutar con la bandera --warning-mode all indica que la propiedad JavaExec.main está obsoleta en Gradle 7.3 y se eliminará en Gradle 8.0. En lugar de usar este parámetro, debe usar la propiedad mainClass, como ya lo está haciendo en su archivo build.gradle.

    Dado que no está utilizando la propiedad JavaExec.main en su configuración y ya ha especificado la propiedad mainClass en el bloque application, puede ignorar el mensaje de advertencia de manera segura.

Comments are closed.