我有一个看起来像这样的 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();
}
}
我有另一个名为的 groovy 文件
CommonFunctions.groovy
def whoami() {return 'no body';}
我正在尝试将CommonFunctions脚本包含到主脚本中,但是在构建时脚本的位置是未知的(即我不能硬编码脚本中的绝对文件路径或 java 进程的绝对路径与位置有关脚本将被存储)。
我所知道的是脚本将在一起或位于相对于调用脚本的位置(例如子目录)。
我试图定位调用脚本的位置,但我得到了错误
No signature of method: MyObject.evaluate()
考虑到在运行时使用GroovyClassLoader.parseClass(File)方法访问主脚本,我如何引用此脚本。