Pergunta

Criei um plugin simples do Grails 2.0.1 com um domínio "Usuário".Criou controladores e visualizações de andaimes.Mas quando eu executo o grails run-app e vou para o URL do usuário/lista, recebo o erro

Nenhuma assinatura do método:packagename.User.list() é aplicável para tipos de argumentos:() valores:[] Soluções possíveis:list(), list(java.util.Map), is(java.lang.Object), wait(), lock(), find()

Mas quando eu uso o plugin dentro de um aplicativo Grails (sem publicar, empacotar), ele funciona bem.

A pergunta é: quero poder testar o controlador do plugin Grails sem um aplicativo.Acho que estou faltando alguma configuração.

Foi útil?

Solução

Parece que você não tem o plugin do Hibernate instalado.É adicionado a BuildConfig.groovy por padrão para aplicativos, mas não para plug-ins.Você pode instalá-lo com grails install-plugin hibernate 2.0.1 e irá adicioná-lo a application.properties, e essa abordagem evita que seja uma dependência quando os usuários instalam seu plug-in.

Você também pode adicioná-lo a BuildConfig.groovy mas não se esqueça de adicionar export = false a menos que seu plugin realmente exija que o Hibernate funcione.Se funcionaria com qualquer implementação GORM (por exemplo,Mongo), então não deveria ser exportado:

plugins {
    build(":tomcat:$grailsVersion",
          ":hibernate:$grailsVersion",
          ":release:1.0.1") {
        export = false
    }
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top