Ir al contenido principal

Primero proyecto: Quarkus con Gradle

Tutorial Completo: Quarkus con Gradle y JAR ejecutable

1️⃣ Crear el proyecto

Desde tu carpeta de trabajo:

quarkus create app py.com:jsifen --extension=resteasy-reactive --gradle
cd jsifen
  • py.com → GroupId
  • jsifen → ArtifactId (nombre del proyecto)
  • --extension=resteasy-reactive → agrega soporte REST
  • --gradle → usa Gradle como build tool

Esto genera la estructura básica del proyecto.

2️⃣ Estructura del proyecto

jsifen/
    build.gradle        # configuración principal de Gradle
    gradlew             # wrapper de Gradle (Linux/Mac)
    gradlew.bat         # wrapper de Gradle (Windows)
    gradle/             # archivos del wrapper
        .gradle/        # caché de Gradle
    gradle.properties   # configuración de Gradle
    settings.gradle     # nombre del proyecto
    src/                # código fuente
    build/              # salida de compilación

💡 No borrar nada salvo build/ o .gradle/ para limpiar caché.

3️⃣ Configuración de Java y dependencias

En build.gradle:

plugins {
    id 'java'
    id 'io.quarkus'
}

repositories {
    mavenCentral()
    mavenLocal()
}

dependencies {
    implementation enforcedPlatform("${quarkusPlatformGroupId}:${quarkusPlatformArtifactId}:${quarkusPlatformVersion}")
    implementation 'io.quarkus:quarkus-rest'
    implementation 'io.quarkus:quarkus-arc'
    testImplementation 'io.quarkus:quarkus-junit5'
    testImplementation 'io.rest-assured:rest-assured'
}

group = 'py.com'
version = '1.0.0-SNAPSHOT'

java {
    sourceCompatibility = JavaVersion.VERSION_21
    targetCompatibility = JavaVersion.VERSION_21
}

test {
    systemProperty "java.util.logging.manager", "org.jboss.logmanager.LogManager"
}

compileJava {
    options.encoding = 'UTF-8'
    options.compilerArgs << '-parameters'
}

compileTestJava {
    options.encoding = 'UTF-8'
}
  • Usa Java 21
  • Define dependencias necesarias para REST y pruebas
  • Configura encoding UTF-8 y parámetros de compilación

4️⃣ Cambiar el puerto del servidor

En src/main/resources/application.properties:

quarkus.http.port=8000
quarkus.http.ssl-port=8443  # opcional para HTTPS

Esto arranca Quarkus en http://localhost:8000.

5️⃣ Ejecutar en modo desarrollo

./gradlew quarkusDev
  • Levanta un servidor en modo hot reload
  • Cambios en código o recursos se reflejan automáticamente
  • Endpoint de prueba: http://localhost:8000/hello

💡 También podés usar tu Gradle global (gradle quarkusDev), pero se recomienda el wrapper para asegurar la versión correcta.

6️⃣ Compilar JAR ejecutable

Para enviar a otra PC, necesitás un JAR ejecutable con todas las dependencias:

./gradlew quarkusBuild -x test

Genera el JAR ejecutable en:

build/quarkus-app/quarkus-run.jar

Ejecutarlo:

java -jar build/quarkus-app/quarkus-run.jar

Esto arranca la aplicación en el puerto definido en application.properties.

7️⃣ Notas importantes

  • Gradle Wrapper (gradlew): garantiza que el proyecto use la versión correcta de Gradle.
  • No borrar: gradlew, gradle/, build.gradle, settings.gradle, src/
  • Se puede borrar: build/ y .gradle/ para limpiar caché.
  • Para acelerar el build: ./gradlew build -x test
  • El JAR normal (jsifen-1.0.0-SNAPSHOT.jar) no es ejecutable; solo quarkus-run.jar lo es.

Comentarios

Entradas populares de este blog

Instalación y Configuración de MySQL 5.7 en Ubuntu 24.04 LTS

Instalar MySQL 5.7 en Ubuntu 24.04 1. Descargar e instalar MySQL Copiar mkdir ~/mysql57 cd ~/mysql57 wget https://cdn.mysql.com/archives/mysql-5.7/mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz tar -zxvf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz sudo mv mysql-5.7.44-linux-glibc2.12-x86_64 /usr/local/mysql sudo ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql 2. Instalar dependencias necesarias IMPORTANTE: Se descargan las versiones nuevas de las librerías y se las vincula con las librerías que necesita MySQL. Copiar sudo apt update # Reemplazo de libaio sudo apt install libaio1t64 # Reemplazo de libtinfo y ncurses sudo apt install libtinfo6 libncurses6 Copiar # Crear los enlaces simbólicos sudo ln -sf /usr/lib/x86_64-linux-gnu/libaio.so.1t64 /usr/lib/libaio.so.1 sudo ln -sf /usr/lib/x86_64-linux-gnu/libtinfo.so.6 /usr/lib/x86_64-linux-gnu/libtinfo.so.5 sudo ln -sf /usr/lib/x86_64-linux-gnu/libncurses.so.6 /usr/lib/x86_64...

Instalar DeepSeek R1 1.5B en Ubuntu 24.04 sin GPU

Instalar DeepSeek en tu sistema sin GPU, pasos: Especificaciones del Entorno de Pruebas Componente Detalle SO Ubuntu Cinnamon 24.04 LTS x86_64 Kernel 6.8.0-51-generic CPU Intel i7-6820HQ (8 núcleos) @ 3.600GHz GPUs AMD ATI Radeon HD 8830M / R7 250 / R7 M465X Intel HD Graphics 530 RAM 15.882 GB (3.716 GB en uso) Resolución 1440x810 Escritorio Cinnamon 6.0.4 1. Instalar Git LFS sudo apt-get install git-lfs git lfs install 2. Clonar el repositorio cd /opt sudo mkdir deepseek && sudo chown $USER:$USER deepseek cd deepseek git clone https://huggingface.co/deepseek-ai/DeepSeek-R1-Distill-Qwen-1.5B 3. Crear y activar un entorno virtual python -m ve...

Instalar Jasper Studio 6.21 para Ubuntu 24.04

Instalar js-studiocomm_6.21.3 en Ubuntu 24.4 Para instalar Jaspersoft Studio en Ubuntu 24.4, sigue estos pasos: 1. Descargar Jasper Studio Descarga la versión js-studiocomm_6.21.3 desde el siguiente enlace: Jaspersoft Studio 6.21.3 2. Crear el directorio de instalación mkdir /opt/jasperstudio 3. Mover el archivo descargado mv /dir_descarga/js-studiocomm_6.21.3_linux_x86_64.tgz /opt/jasperstudio/ cd /opt/jasperstudio 4. Extraer el archivo tar -xvzf js-studiocomm_6.21.3_linux_x86_64.tgz cd js-studiocomm_6.21.3 5. Ejecutar Jaspersoft Studio ./Jaspersoft\ Studio 6. Crear acceso directo en el escritorio Para facilitar el acceso, crea un archivo .desktop en el escritorio: gedit ~/Escritorio/jaspersoft-studio.desktop En el archivo jaspersoft-studio.desktop , agrega lo siguiente: [Desktop Entry] Version=1.0 Ty...