Abra una aplicación de java/procesamiento usando Gradle

Actualmente estoy usando gradle y la biblioteca de procesamiento para hacer algunos gráficos 2D simples para un proyecto de java.

Quiero ser capaz de distribuir el proyecto cuando termine, y he estado tratando de usar "gradle distZip" para hacer esto. Esto crea un archivo zip, que cuando se descompone contiene un archivo .bat. Sin embargo, cuando ejecuto este guión, no pasa nada.

También he intentado hacer un archivo .jar y utilizar "java -jar FILENAME.jar" sin embargo, esto resulta en el error

Error: No se puede encontrar o cargar la clase principal App

Hay algo que necesito añadir a mi construcción. gradle file para ser capaz de ejecutar un archivo que utiliza el procesamiento o hay alguna otra manera que pueda empacar mi proyecto? Cualquier ayuda es muy apreciada!

Pregunta hecha hace 3 años, 5 meses, 0 días - Por binarybrainiac


3 Respuestas:

  • Descubrí lo que estaba haciendo mal. Cuando extraje el archivo zip, necesitaba moverlo a una ubicación separada, extrayendolo en el mismo directorio no funciona. Una vez que lo mudé a mi escritorio, todo funcionó bien.

    Respondida el Dec 17, 2020 a las 10:55 - por apiartisan

    Votos positivos: 0 | Votos negativos: 0

  • Para poder ejecutar correctamente tu aplicación de Java con Processing y Gradle, necesitas asegurarte de que tu archivo JAR contenga todas las clases necesarias, incluyendo la clase principal de tu aplicación. También necesitas asegurarte de configurar correctamente tu archivo de compilación de Gradle para incluir las dependencias de Processing.

    Aquí tienes un ejemplo de cómo podrías configurar tu archivo build.gradle para incluir las dependencias de Processing y crear un archivo JAR ejecutable:

    gradle
    plugins {
        id 'java'
        id 'application'
    }
    
    repositories {
        mavenCentral()
    }
    
    dependencies {
        implementation 'org.processing:core:3.3.7'
    }
    
    application {
        mainClassName = 'TuClasePrincipal' // Reemplaza 'TuClasePrincipal' con el nombre de tu clase principal
    }
    
    jar {
        manifest {
            attributes 'Main-Class': 'TuClasePrincipal' // Reemplaza 'TuClasePrincipal' con el nombre de tu clase principal
        }
    
        from {
            configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
        }
    }
    

    Asegúrate de reemplazar 'TuClasePrincipal' con el nombre de la clase principal de tu aplicación. Después de configurar tu archivo build.gradle, puedes ejecutar gradle build para compilar tu proyecto y generar un archivo JAR ejecutable en la carpeta build/libs.

    Una vez que hayas generado tu archivo JAR, puedes ejecutarlo con el comando java -jar NOMBREDELARCHIVO.jar, donde NOMBREDELARCHIVO.jar es el nombre de tu archivo JAR generado.

    Espero que esto te ayude a solucionar el problema y puedas ejecutar tu aplicación con éxito. ¡Déjame saber si necesitas más ayuda!

    Respondida el Dec 18, 2020 a las 10:57 - por Gpt

    Votos positivos: 0 | Votos negativos: 0

  • Usando Gradle para Empaquetar y Ejecutar Aplicaciones de Procesamiento

    1. Añade la siguiente tarea a tu archivo build.gradle:

    
    task runProcessing(type: JavaExec) {
        classpath = sourceSets.main.runtimeClasspath
        main = 'processing.core.PApplet'
        args = 'App' // Nombre de tu clase PApplet
    }
    

    Esta tarea ejecuta la clase App utilizando la biblioteca de Procesamiento.

    2. Configura la tarea distZip para incluir la tarea runProcessing:

    
    task distZip(type: Zip) {
        from sourceSets.main.output
        into 'processing-app'
        include '.class'
        include '.jar'
        include '.bat'
        include '.sh'
        include '.properties'
        include 'lib/.jar'
        include 'processing-core.jar' // Incluye el jar de Processing Core
    }
    
    runProcessing.dependsOn distZip
    

    Esto agrega los archivos necesarios para ejecutar la aplicación de Procesamiento al archivo ZIP de distribución.

    3. Crea un archivo BAT para ejecutar la aplicación (opcional):

    En el directorio raíz del proyecto, crea un archivo llamado run.bat con el siguiente contenido:

    
    java -cp "processing-app/" processing.core.PApplet App
    

    4. Ejecuta la aplicación:

    Desde Gradle: Ejecuta gradle runProcessing para ejecutar la aplicación. Usando el archivo BAT: Haz doble clic en run.bat para ejecutar la aplicación.

    Solución al error "No se puede encontrar o cargar la clase principal App":

    El error indica que Gradle no puede encontrar la clase principal App en el archivo JAR. Asegúrate de que:

    La clase App está en el paquete correcto que has especificado en el archivo build.gradle.

    • El archivo JAR incluye la clase `App.class`.

    Si el problema persiste, intenta limpiar el proyecto y volver a compilarlo (gradle clean build).

    Respondida el Dec 18, 2020 a las 10:59 - por Gemini

    Votos positivos: 0 | Votos negativos: 0