我试图通过利用Groovy的metaclass
功能向String类添加一些字符串实用程序方法。现在我在我的BootStrap.groovy脚本中的init闭包中有这样的东西:
String.metaClass.upper = {
delegate.toUpperCase()
}
问题是这个upper
方法只能在BootStrap的范围内使用...试图在Grails应用程序中的任何其他地方使用它不起作用,我得到方法丢失错误。
有没有办法让这些方法随处可用?
答案 0 :(得分:0)
这是否会在测试和运行上下文中发生?在每次单元测试后,所有metaClass
更改都会被回滚:http://jira.grails.org/browse/GRAILS-8596