我想从另一个groovy脚本中调用一个groovy脚本......任何人都可以尽快帮助我..
示例:
A类有一些代码,它应该从B
调用 class A{
static main(args){
println "Hello.. calling A Class"
}
}
我想创建一个像B.groovy
这样的新类class B{
static main(args){
// I need code for this to call A.groovy
}
}
答案 0 :(得分:2)
将以下内容放在脚本的顶部将加载groovy文件的内容。
evaluate(new File("/path/to/script/MyScript.groovy"))
如果你需要经常这样做,你也可以将它添加到groovy类路径中。希望这会有所帮助。
另外,如果您需要从脚本运行其他脚本,则可以执行以下操作...
def script = new GroovyShell();
def args = ['Hello World'];
script.run(new File("/path/to/script/MyScript.groovy"), args as String[]);
答案 1 :(得分:0)
派对太晚了(对我来说是啤酒吗?)但是在这里我会再向你展示2种口味:
1)还记得Java的CLASSPATH概念吗?这适用于Groovy(因为Groovy是Java!):
“CLASSPATH变量是一种告诉应用程序的方法,包括JDK工具,在哪里查找用户类。”
要运行脚本B.groovy,您必须告知A.groovy(A类)的位置:
groovy -cp c:\ groovy \ yourscripts c:\ groovy \ scripts \ B.groovy
上面的命令告诉运行时查看c:\ groovy \ yourscripts文件夹,因为我们有我们的类,我们需要它们才能成功运行B.groovy脚本。
2)使用 GroovyClassLoader 在运行时加载脚本并使用代码!
两种方式都可以解决您的需求。现在下一个问题是何时使用每个?