没有签名的方法,虽然填写相同的参数grails / groovy

时间:2014-10-09 04:52:39

标签: groovy

我有一个例外。我创建了一个服务

def fillEmailTemplateNo1(Long profileID, String customerName, String cif, Integer soluongtaisan, String hinhthucdinhgia) {
//...
}

然后在控制器中,我称之为

fillEmailTemplateNo1(newProfile.id, newCustomer.customerName, newCustomer.cif, newCustomer. soLuongTaiSan, "abc")

虽然我填写了所有参数(根据他们的类型)),但我得到了这个异常

groovy.lang.MissingMethodException: No signature of method: static
mail.MailCollatService.fillEmailTemplateNo1() is applicable for
argument types: (java.lang.Long, java.lang.String, java.lang.String,
java.lang.Integer, java.lang.String) values: [11, 1232, 1233, 1, abc] Possible solutions:
fillEmailTemplateNo1(java.lang.Long, java.lang.String,
java.lang.String, java.lang.Integer, java.lang.String)

有什么问题?

1 个答案:

答案 0 :(得分:4)

您正在调用方法而不是在实例上而是在类(No signature of method: **static** mail.MailCollatService.fillEmailTemplateNo1)上。

所以要么在你的服务中声明它static(不良做法),要么在服务器或其他服务中注入服务(仅仅def mailCollatService,例如。)