Вызвано: java.lang.NoSuchMethodError: createCriteria Grails

Я получаю метод NoSuchMethodError на createCriteria в Grails. Я не знаю, почему-то он не распознает метод. У меня есть 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;)

person Community    schedule 20.10.2015    source источник
comment
Распознает ли Grails Employee как доменный класс? Вы можете проверить, запустив grailsApplication.allArtefacts   -  person Emmanuel Rosa    schedule 20.10.2015


Ответы (1)


Может быть несколько вариантов этой ошибки. Первый и наиболее распространенный заключается в том, что класс Employee находится не в каталоге grails-app/domain, а в пакете src/groovy.

Во-вторых, ваш путь к классам может иметь два класса Employee в разных пакетах. Один должен быть вашим доменом, а другой — простым классом Java или Groovy. Таким образом, вы, должно быть, импортировали с неправильным пакетом.

person Shashank Agrawal    schedule 22.10.2015
comment
спасибо, но здесь не так, есть ли другие причины для этого ?? - person ; 23.10.2015
comment
Можете ли вы воспроизвести его в новом свежем приложении и отправить его на GitHub? - person Shashank Agrawal; 23.10.2015