我有一個Groovy文件看起來像這樣(目前)。導入Groovy腳本到另一個Groovy腳本在運行時
main.groovy
import org.packages.mystuff.JavaClassIAmUsing;
public class MyObject {
def rate(item){
def o = evaluate(new File (new File(getClass().protectionDomain.codeSource.location.path).parent),"CommonFunctions.groovy");
println o.whoami();
}
}
我有一個名爲
CommonFunctions.groovy
def whoami() {return 'no body';}
我想包括CommonFunctions腳本到另一個常規文件主要腳本,但腳本的位置不知道在構建時(即我可以n不要硬編碼腳本中的絕對文件路徑,或者與腳本存儲位置相關的java進程的絕對路徑)。
我所知道的是,該腳本會在一起或者在相對於調用腳本的位置(比如子目錄)。
我已經嘗試嘗試和位置調用腳本的位置,但我得到的錯誤
No signature of method: MyObject.evaluate()
我怎樣才能全球化志願服務青年這個腳本,考慮到主腳本在運行時使用GroovyClassLoader.parseClass訪問(File)方法。