本文介绍了在Grails中的_Events.groovy之前执行哪个文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
对于尚未编译的类,我在 _Events.groovy
上有一个导入。我想在脚本执行前编译文件。任何关于Grails启动执行顺序的说明都会受到赞赏。
解决方案
您必须轻松加载 _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){
projectCompiler。 compileAll()
load(className)
}
}
上面的代码(来自)是最初基于的代码。
自那时以来,它有所改变。
GrailProjectCompiler
是从 。
I have an import on _Events.groovy
for a class that is not yet compiled. I want to compile the file before the script is executed. Any clarification on Grails startup execution sequence is appreciated.
解决方案 You will have to "soft load" the class in _Events.groovy
by doing something like this:
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)
}
}
The above code (from grails-cucumber) was originally based on spock's code.
It has changed a little bit since then. The GrailProjectCompiler
stuff was a tip from Graeme Rocher here.
这篇关于在Grails中的_Events.groovy之前执行哪个文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!