groovy.json.JsonBuilder在Eclipse / STS中抛出MissingMethodException但不从groovysh抛出

时间:2012-10-25 12:29:39

标签: groovy

当我尝试从Eclipse / STS运行以下代码时,我得到以下异常:

Caught: groovy.lang.MissingMethodException: No signature of method: 
    groovy.json.JsonBuilder.message() is applicable for argument types:
    (ie.makalu.scripts.TestJsonBuilder$_run_closure1) values: 
    [ie.makalu.scripts.TestJsonBuilder$_run_closure1@d05c13]

但是当我从shell运行它时它工作正常。任何人都可以建议为什么会这样?

我在Groovy 1.8.6和使用STS版本2.9.2的Groovy 2.0中尝试了这个

package ie.makalu.scripts

import groovy.json.JsonBuilder


def json = new JsonBuilder()

json.message {
header {
    from('mrhaki')  // parenthesis are optional
    to 'Groovy Users', 'Java Users'
}
body "Check out Groovy's gr8 JSON support."
} 

println json.toString() 

1 个答案:

答案 0 :(得分:0)

我建议不要使用Eclipse STS - 在我看来,太多人经常遇到问题。相反,我会安装标准的Eclipse或Eclipse for Java Development(来自eclipse社区但不是专门的STS的东西)并在顶部安装Groovy(如果你需要Grails)插件。它工作得更好,您可以自由安装任何可能无法在STS版本下运行的其他插件。

另外我建议尝试IntelliJ,它与Groovy(和Grails)很好地集成。