Grape (Groovy Advanced Packaging Engine) es un gestor de dependencias que nos permite usar librerías sin la necesidad de agregarlas a nuestro CLASSPATH. Básicamente, te permite agregar librerías a tus scripts de una manera muy fácil.
Pero antes de hacer nada, recordemos algunas cosas:
Compilamos:
groovyc Programa.groovy
Ejecutamos (de hecho podemos omitir la compilación con esto):
groovy Programa.groovy
Ejemplo. Crear un documento PDF con itextpdf.
import java.io.FileOutputStream import java.io.IOException import com.itextpdf.text.Document import com.itextpdf.text.DocumentException import com.itextpdf.text.Paragraph import com.itextpdf.text.pdf.PdfWriter @Grapes(@Grab(group='com.itextpdf', module='itextpdf', version='5.5.13.3')) def documentoPDF() throws DocumentException, IOException { def documento="MyDocument.pdf" Document document = new Document(); PdfWriter.getInstance(document, new FileOutputStream(documento)); document.open(); document.add(new Paragraph("Usando Grapes en Groovy")); document.add(new Paragraph("Alquimista de Codigo Blogspot")); document.close(); println "Se ha creado el documento PDF" } documentoPDF()
Con esto el PDF 'MyDocument.pdf' se habrá creado.
Listar dependencias:
$ grape list com.itextpdf itext-parent [1.0.0] com.itextpdf itextpdf [5.5.13.3] 2 Grape modules cached 2 Grape module versions cached
Nota: Si sale un error del tipo:
Caused by: java.lang.IllegalArgumentException: Unsupported class file major version 65
Deberás usar un JDK inferior a la versión 21 o 22, aquí una lista:
Java SE 22 = 66, Java SE 21 = 65, Java SE 20 = 64, Java SE 19 = 63, Java SE 18 = 62, Java SE 17 = 61, Java SE 16 = 60, Java SE 15 = 59, Java SE 14 = 58, Java SE 13 = 57, Java SE 12 = 56, Java SE 11 = 55, Java SE 10 = 54, Java SE 9 = 53, Java SE 8 = 52, Java SE 7 = 51, Java SE 6.0 = 50, Java SE 5.0 = 49, JDK 1.4 = 48, JDK 1.3 = 47, JDK 1.2 = 46, JDK 1.1 = 45
Esto se obtuvo de este post en Stackoverflow.
Más ejemplos en próximos posts.
Enlaces:
https://lineadecodigo.com/groovy/uso-de-grapes-en-groovy/
Comentarios
Publicar un comentario