假设我有一个包含两个Groovy文件的文件夹:
Main.groovy
Utils.groovy我想在Main.groovy中使用Utils.groovy文件中的一些方法,这样以后就可以在其他Groovy脚本中重用它们。所以我在Main.groovy中尝试了一下
import Utils当当前工作文件夹是脚本所在的文件夹时,这似乎是有效的。但是,如果我cd-ed到其他地方,这不起作用,并显示以下错误消息:
unable to resolve class Utils有没有办法导入相对于脚本文件夹的文件,而不是当前的工作文件夹?我知道我可以提供-cp或者做其他事情,比如使用真正的构建工具,但我的想法是能够运行这些工具。
发布于 2014-10-21 04:52:05
如果这两个文件都在同一个目录中,则不必导入任何内容。看一下这个例子。我在/tmp目录中创建了两个文件: 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
2https://stackoverflow.com/questions/26473985
复制相似问题