在 Grails 1.1 插件中,我尝试使用以下代码从主应用程序加载一个类:
class MyClass {
static Map getCustomConfig(String configName){
return new ConfigSlurper().
parse(ApplicationHolder.application.classLoader.loadClass(configName))
}
}
包含配置信息configName
的类的名称在哪里。$MAIN_APP/grails-app/conf
但是,当上面的代码在单元测试中运行时applicationHolder.application
返回 null,导致上面的方法抛出一个NullPointerException
. 为这个问题创建了一个 Grails JIRA问题,但它已被标记为已修复,尽管问题似乎仍然存在。
我知道在插件描述符类中,我可以GrailsApplication
通过隐式application
变量访问主应用程序(的实例)。但是上面显示的代码不在插件描述符中。
有没有办法可以从插件内的主应用程序加载一个类(但在插件描述符之外)?
谢谢,唐