2008-10-31 31 views

回答

10

由斯科特·戴维斯,包括自动在./groovy/lib目录 JAR文件从Groovy的食谱总结:

  1. 在创建.groovy/lib您的登录目录
  2. 取消$ {GROOVY_HOME} /conf/groovy-starter.conf中的以下行的注释

    load !{user.home}/.groovy/lib/*.jar

  3. 复制要纳入到.groovy/lib

看来,对Groovy 1.5或更高版本,默认情况下(无需编辑的conf)得到这个,只是下降的罐子在罐子/ lib目录。

+0

不知道这是否会首选。有时候我宁愿使用java的“默认类加载器”。在这种情况下,我可以将jar放入jre/lib/ext中以自动加载到默认的类加载器。 – djangofan 2011-10-30 00:43:07

0

groovy仅仅是Groovy的JAR,设置了Java类路径包装脚本。我想,你可以修改这个脚本来将路径添加到你自己的JAR中。

5

有几种方法可以做到这一点。您可以将jar添加到系统的CLASSPATH变量中。您可以在主目录中创建一个名为.groovy/lib的目录,并将jar放入其中。它将在运行时自动添加到您的类路径中。或者,你可以做到这一点的代码:

this.class.classLoader.rootLoader.addURL(new URL("file:///path to file")) 
+0

动态加载JAR不适用于我,除非我也动态地在JAR中实例化任何类。例如,如果MyClass在JAR中,我必须像这样构造它: def myObj = Class.forName(“com.whatever.MyClass”)。newInstance() 因此,最好包含JAR文件存放在groovy-starter.conf目录中的某个地方,除非有一种我不知道的解决方法。 – seansand 2010-04-30 16:06:24

0

您可以添加以下shebang到你的Groovy脚本的第一行:

#!/usr/bin/env groovy -cp ojdbc5.jar 

然后,标志着可执行脚本:

chmod u+x RunScript.groovy 

现在,通过本身运行该脚本将设置类路径自动。

./RunScript.groovy 
相关问题