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
→ GroupIdjsifen
→ 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; soloquarkus-run.jar
lo es.
Comentarios
Publicar un comentario