Eclipse 中的 MarkupBuilder:无法解析 class groovy.xml.markupBuilder

MarkupBuilder in Eclipse: unable to resolve class groovy.xml.markupBuilder

我觉得提出这个问题有点傻,但我别无选择。

基本上,我在“让我们学习 groovy”项目中有这个:

package com.mypackage.markupexercise

import groovy.xml.MarkupBuilder

println "Hello MarkupBuilder"

def writer = new StringWriter()
def builder = new MarkupBuilder(writer)

builder.records() {
    example(id:1)
}

我收到以下编译错误:

<path>\markupbuilderexercise\Main.groovy: 3: unable to resolve class groovy.xml.MarkupBuilder
 @ line 3, column 1.
   import groovy.xml.MarkupBuilder
   ^

1 error

现在,我看到了[这个问题][1],并且导入了groovy-xml-3.09.jar文件(通过右键单击项目-> 属性 -> Java 构建路径 -> 添加 Jars...)

“问题”选项卡上没有任何内容,如果我尝试通过 groovy 控制台 运行,我会收到以下错误:

groovy.lang.MissingMethodException: No signature of method: groovy.xml.MarkupBuilder.records() is applicable for argument types: (com.neuro.groovyhelloworld.markupbuilderexercise.Main$_run_closure1) values: [com.neuro.groovyhelloworld.markupbuilderexercise.Main$_run_closure1@2e757861]

    at com.neuro.groovyhelloworld.markupbuilderexercise.Main.run(Main.groovy:10)

    at com.neuro.groovyhelloworld.markupbuilderexercise.Main.main(Main.groovy)

我的看法是我没有以正确的方式添加依赖项,但我是一名 Java 开发人员,依赖项要么是我所做的,要么只是依赖 Maven/Gradle, 所以我有点没主意了。

我错过了什么?

  [1]: 

我在选择 运行 As > Groovy Console 然后 运行ning 脚本时看到同样的问题。对于以下来源的 运行 As > Groovy Script 它确实工作正常——我使用了 grab,所以我不需要添加 groovy -xml 到我项目的类路径:

@Grab('org.codehaus.groovy:groovy-xml:3.0.9')
import groovy.xml.MarkupBuilder

def writer = new StringWriter()
new MarkupBuilder(writer).tap {
  records {
    example(id:1)
  }
}

print writer

我得到以下输出:

<records>
  <example id='1' />
</records>

您还可以使用 运行 As > Java Application.

构建项目和 运行 脚本