【发布时间】:2014-08-01 04:46:15
【问题描述】:
我试图弄清楚如何在运行时在 java 中加载两个相互依赖的 Groovy 脚本。如果我有两个 groovy 脚本,例如:
A.groovy
import B
class A {
A() {
B b = new B()
}
}
B.groovy
import A
class B {
B() {
A a = new A()
}
}
我想将它们加载为 java 类,但是当我运行时:
ClassLoader parent = getClass().getClassLoader();
GroovyClassLoader loader = new GroovyClassLoader(parent);
loader.parseClass(new File("A.groovy"));
我得到错误:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
A.groovy: 1: unable to resolve class B
@ line 1, column 1.
import B
我当然理解错误的原因,但有没有办法在运行时加载这些类,尽管它们相互依赖?谢谢!
【问题讨论】: