假设我有一个包含两个Groovy文件的文件夹:
Main.groovy
Utils.groovy
我在Utils.groovy
文件中有一些我希望在Main.groovy
中使用的方法,因此我可以在其他Groovy脚本中重复使用它们。所以我在Main.groovy
中尝试了这个:
import Utils
当前工作文件夹是脚本所在的文件夹时,这似乎有效。但是,如果我cd
- 编辑到其他地方,并且出现错误消息:
unable to resolve class Utils
是否可以导入相对于脚本文件夹的文件,而不是当前工作文件夹?我知道我可以提供-cp
或做其他事情,比如使用真正的构建工具,但我们的想法是能够运行这些工具。
答案 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