- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以将基于闭包的配置实现为 map ?
grails {
acme {
host = 'localhost'
poolSettings {
timeout = 5000
}
}
}
grails.acme = [host:'localhost']
grails.acme = [host:'localhost']
def poolProps = //do some work to get pool settings
grails.acme << [poolSettings:poolProps]
grails.acme
:
{
"host": "locahost",
"poolSettings": {
"timeout": 5000
}
}
2014-09-27 23:27:07,460 [localhost-startStop-1] ERROR context.GrailsContextLoader - Error initializing the application: No signature of method: AcmePlugin$_closure2_closure5_closure9 .doCall() is applicable for argument types: (grails.spring.BeanBuilder) values: [grails.spring.BeanBuilder@7b067fd7] Possible solutions: doCall(java.lang.Object, java.lang.Object), call(), call([Ljava.lang.Object;), call(java.lang.Object), call(java.lang.Object, java.lang.Object), findAll() Message: No signature of method: AcmeGrailsPlugin$_closure2_closure5_closure9.doCall() is applicable for argument types: (grails.spring.BeanBuilder) values: [grails.spring.BeanBuilder@7b067 fd7] Possible solutions: doCall(java.lang.Object, java.lang.Object), call(), call([Ljava.lang.Object;), call(java.lang.Object), call(java.lang.Object, java.lang.Object)
最佳答案
您的代码的一个问题可能是config节点结构看起来完全正确,但实际上并非如此。即一些节点是Map
实例,而不是ConfigObject
实例。
在大多数情况下,这可能无关紧要,但是在您的情况下,似乎第3方插件因某些丑陋且无法理解的异常而失败。
我无法重现您的问题,因此无法确定这是否是您遇到的真正问题,也无法确定建议的解决方案是否可以解决您的问题。尽管如此,我的第一个尝试就是修复类型,以使配置树中的所有节点都为ConfigObject
类型。像这样:
def poolProps = [timeout: 5000] as ConfigObject // convert type to ConfigObject
grails.acme.host = 'localhost'
grails.acme << [ poolSettings : poolProps ]
关于grails - 如何仅使用Grails中的嵌套映射创建ConfigObject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26081477/
我是一名优秀的程序员,十分优秀!