引起:java.lang.NoSuchMethodError: createCriteria grails

Posted

技术标签:

【中文标题】引起:java.lang.NoSuchMethodError: createCriteria grails【英文标题】:Caused by: java.lang.NoSuchMethodError: createCriteria grails 【发布时间】:2016-01-19 04:12:29 【问题描述】:

我在 Grails 中的 createCriteria 方法上获得了 NoSuchMethodError。我不知道它以某种方式无法识别该方法。我在其他项目中有createCriteria,但在这里不起作用。

Domain.where   

以上也不起作用。这是我的代码:

def res = Employee.createCriteria().list 
    or 
        eq('validOn',date)
        eq('day',day)
    

println "res"+res

我收到此错误:

  Caused by: java.lang.NoSuchMethodError: in.aoo.EmployeeController$_chefPackaging_closure12.<init>(Ljava/lang/Object;Ljava/lang/Object;Lgroovy/lang/Reference;Lgroovy/lang/Reference;)

【问题讨论】:

Grails 是否将 Employee 识别为域类?您可以通过运行grailsApplication.allArtefacts 进行检查 【参考方案1】:

这个错误有几种可能。第一个也是最常见的是Employee类不在grails-app/domain目录下,而是在src/groovy包下。

第二个可能是你的类路径可以在不同的包中有两个Employee 类。一个必须是您的域,另一个是简单的 Java 或 Groovy 类。所以你一定是用错误的包导入了。

【讨论】:

谢谢,但这里没有这种情况,还有其他原因吗?? 你能把它复制到一个新的应用程序中并推送到 GitHub 吗?

以上是关于引起:java.lang.NoSuchMethodError: createCriteria grails的主要内容,如果未能解决你的问题,请参考以下文章