从其他groovy脚本调用groovy脚本
我想从另一个groovy脚本调用一个groovy脚本。。。任何人都可以尽快帮我 例如: 类A有一些代码,它应该从B调用从其他groovy脚本调用groovy脚本,groovy,Groovy,我想从另一个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 } } 将以下内容
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
}
}
将以下内容放在脚本顶部将加载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)还记得Java类路径的概念吗?这适用于Groovy(因为Groovy是Java!):
CLASSPATH变量是告诉应用程序(包括JDK工具)在何处查找用户类的一种方法
为了运行脚本B.groovy,您必须通知A.groovy(类)的位置:
groovy–cp c:\groovy\yourscripts c:\groovy\scripts\B.groovy
上面的命令告诉运行时在c:\groovy\yourscripts文件夹中查找,因为那里有我们的类,我们需要它们来成功运行B.groovy脚本
2)使用在运行时加载脚本并使用代码
这两种方法都能解决您的需要。现在下一个问题是什么时候使用它们?将它们放在同一个文件夹中。Groovy识别同一目录中的文件。然后您可以执行一个简单的
newa()
,或者,当你使用静态方法时,A.main args
你似乎只接受了一个问题的答案……我不明白你在说什么,蒂姆先生……我不明白你的意思?@Tim:ohhh……我是新来这个论坛的……谢谢你的建议。。