/ / Importar la biblioteca de Java groovy - java, groovy

Importar la biblioteca de Java groovy - java, groovy

Quiero usar un método definido en la biblioteca apache.common.net en mi Groovy-Script.

Primero lo descargué y lo incluí en mi configuración:

            this.class.classLoader.rootLoader.addURL(new URL("file:///${currentDir}/lib/commons-net-3.3.jar"))

Luego trato de usarlo en mi guión groovy como este (para dejarlo claro: la importación pimpim. * Importa también el classLoader arriba):

    import pimpim.*

import org.apache.commons.net.ftp.*

def pm = PM.getInstance("test")


public class FileUploadDemo {
public static void main(String[] args) {
FTPClient client = new FTPClient();

También probé varias anotaciones para la "importación" como

import org.apache.commons.net.ftp.FTPClient

Pero sigo recibiendo este error:

org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Y:pimconsolescriptsftp.gy: 11: unable to resolve class FTPClient
@ line 11, column 15.
FTPClient client = new FTPClient();

¿Qué me perdí? Lo siento, todavía soy nuevo en groovy: /

Respuestas

2 para la respuesta № 1

Por lo tanto, puede agregarlo a la ruta de clase cuando inicie su script;

groovy -cp .;lib/commons-net-3.3.jar ftp.gy

O bien, puede agregar un @Grab anotación en su script, y Groovy descargará la dependencia y la agregará a la ruta de clases antes de ejecutarla (pero esto no puede funcionar si sus scripts se ejecutan en un cuadro sin acceso a Maven);

@Grab("commons-net:commons-net:3.3")
import org.apache.commons.net.ftp.*

...rest of your script...

O la ruta de hacking classpath que tienes arriba debería trabaja si lo intentas

this.getClass().classLoader.rootLoader.addURL(new File("lib/commons-net-3.3.jar").toURL())