[英]Calling groovy script from other groovy script
我想從其他常規腳本中調用常規腳本...任何人都可以在此盡快為我提供幫助。
例如:
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
}
}
將以下內容放在腳本頂部將加載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[]);
參加聚會太遲了(對我來說還需要啤酒嗎?),但在這里我將向您展示2種口味:
1)還記得Java的CLASSPATH的概念嗎? 這適用於Groovy(因為Groovy是Java!):
“ CLASSPATH變量是一種告訴應用程序(包括JDK工具)在哪里尋找用戶類的方法。”
為了運行腳本B.groovy,您必須通知A.groovy(A類)的位置:
groovy –cp c:\\ groovy \\您的腳本c:\\ groovy \\ scripts \\ B.groovy
上面的命令告訴運行時在c:\\ groovy \\ yourscripts文件夾中查找,因為在這里有我們的類,我們需要它們才能成功運行B.groovy腳本。
2)使用GroovyClassLoader在運行時使用代碼加載腳本!
兩種方式都能滿足您的需求。 現在下一個問題是何時使用它們?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.