问这个问题我觉得有点傻,但我没有选择了。
基本上,我有一个“让我们学习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现在,我已经看到了这个问题,并导入了groovy-xml-3.09.jar文件(通过右键单击项目-> Properties -> ->构建路径->添加Jars.)
"Problems“选项卡上没有任何内容,如果我试图通过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]: https://stackoverflow.com/questions/59132101/eclipse-groovy-unable-to-resolve-class发布于 2021-09-23 21:09:47
在选择Run > Groovy控制台然后运行脚本时,我看到了同样的问题。对于在以下源代码上运行的> Groovy脚本,它确实工作得很好--我使用了grab,因此不需要将groovy添加到项目的类路径中:
@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>您还可以使用run >构建项目并运行脚本。
https://stackoverflow.com/questions/69286722
复制相似问题