【发布时间】:2017-05-31 00:09:59
【问题描述】:
我在 Mule 中有以下 Groovy 脚本。
import org.custommonkey.xmlunit.XMLUnit.*
def expected =
getClass().getResourceAsStream('/samples/in/request.xml').text
XMLUnit.setIgnoreWhitespace(true)
def documentDiff = DiffBuilder
.compare(expected)
.withTest(message.getInboundProperty('webServiceRequest'))
.withNodeFilter(node -> !node.getNodeName().equals('EffectiveDate'))
.build()
出于某种原因,Groovy 抱怨“->”..
Script3.groovy: 10: unexpected token: -> @ line 10, column 34.
.withNodeFilter(node -> !node.getNodeName().equals(EffectiveDate))
我不明白。我认为这在 Groovy 中很好吗?我错过了什么吗?
【问题讨论】:
-
您可能正在使用不支持 Java 8 的 Lambda 语法的 Groovy 版本。但是,您仍然可以在任何需要 Lambda 的地方使用闭包,所以
.withNodeFilter { node -> !node.getNodeName().equals('EffectiveDate') }应该这样做。 -
谢谢。你在这里的评论对我帮助很大。这比提供的建议答案更相关,并引导我解决我的问题。