我在_Events.groovy
上导入了尚未编译的类。我想在执行脚本之前编译该文件。任何关于Grails启动执行顺序的澄清都表示赞赏。
答案 0 :(得分:1)
您需要通过执行以下操作在_Events.groovy
中“加载”该类:
import org.codehaus.groovy.grails.compiler.GrailsProjectCompiler
GrailsProjectCompiler projectCompiler = new GrailsProjectCompiler(pluginSettings)
projectCompiler.configureClasspath()
....
loadClass ('<your fully qualified class name>')
....
loadClass = { className ->
def load = { name ->
classLoader.loadClass (name)
}
try {
load (className)
} catch (ClassNotFoundException ignored) {
projectCompiler.compileAll()
load (className)
}
}
上述代码(来自grails-cucumber)最初基于spock的代码。
从那时起它发生了一些变化。 GrailProjectCompiler
内容来自Graeme Rocher here。