簡體   English   中英

從其他Groovy腳本調用Groovy腳本

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM