将实用程序导入Groovy脚本

时间:2014-10-20 20:07:29

标签: groovy

假设我有一个包含两个Groovy文件的文件夹:

Main.groovy
Utils.groovy

我在Utils.groovy文件中有一些我希望在Main.groovy中使用的方法,因此我可以在其他Groovy脚本中重复使用它们。所以我在Main.groovy中尝试了这个:

import Utils

当前工作文件夹是脚本所在的文件夹时,这似乎有效。但是,如果我cd - 编辑到其他地方,并且出现错误消息:

,则无效
unable to resolve class Utils

是否可以导入相对于脚本文件夹的文件,而不是当前工作文件夹?我知道我可以提供-cp或做其他事情,比如使用真正的构建工具,但我们的想法是能够运行这些工具。

1 个答案:

答案 0 :(得分:1)

如果您在同一目录中同时拥有这两个文件,则无需导入任何内容。看看这个例子。我在/tmp目录2文件中创建了:Utils.groovy和Main.groovy。在Utils.groovy中,您可以找到:

class Utils {
   def foo() {
      return 2
   }
}

在Main.groovy中,您可以找到:

Utils utils = new Utils()
println utils.foo()

我所做的只是:groovyc Main.groovy然后是groovy Main。输出是:

wololock@localhost : /tmp
[1] % groovy Main 
2

然后从您目前所在的任何目录运行它,运行:

wololock@localhost : /usr
[1] % groovy -cp /tmp /tmp/Main
2