MissingMethod:没有arguemnt类型java.util.LinkedHashMap的签名,可能的解决方案:java.util.LinkedHashMap)

时间:2018-04-09 07:32:54

标签: groovy

我正在尝试将一组命名参数传递给方法。 我可以将参数传递给函数,但不传递给方法。 当我运行此代码时:

class Tester {
    def exectute(java.util.LinkedHashMap tests) {
        println("Tests are ${tests}")
    }
}

def funct(def test)
{
    println "Test is ${test}"
}

def arg=[:]
arg['CASE 1'] = [ script: "test.sh", log: false]

def testclass = new Tester()
println "${arg}"
funct(arg)
testclass.execute(arg)

我得到以下回复:

[CASE 1:[script:test.sh, log:false]]
Test is [CASE 1:[script:test.sh, log:false]]
Exception thrown

groovy.lang.MissingMethodException: No signature of method: Tester.execute()     
is applicable for argument types: (java.util.LinkedHashMap) values: 
[[CASE  1:[script:test.sh, log:false]]]
Possible solutions: exectute(java.util.LinkedHashMap)
at ConsoleScript17.run(ConsoleScript17:21)

我有什么建议可以解决这个问题吗?

我可能错过了一些微不足道的东西,因为我在groovy和java方面缺乏经验。

0 个答案:

没有答案