导入Java库groovy

时间:2015-08-24 10:46:28

标签: java groovy

我想在我的groovy-Script中使用apache.common.net库中定义的方法。

我首先下载并将其包含在我的配置中:

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

之后我尝试在我的groovy脚本中使用它(为了说清楚:导入pimpim。*导入上面的classLoader):

    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();

我还为" import"尝试了几个注释。喜欢

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

但我一直收到这个错误:

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

我错过了什么?对不起,我还是groovy的新手:/

1 个答案:

答案 0 :(得分:3)

因此,您可以在启动脚本时将其添加到类路径中;

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

或者,您可以在脚本中添加@Grab注释,Groovy将在运行之前下载相关性并将其添加到类路径中(但如果您的脚本在没有访问权限的框上执行,则无法执行此操作到maven);

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

...rest of your script...

如果您尝试上面的类路径黑客路由应该

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