我创建了一个带有域"User"的简单grails 2.0.1插件。创建了脚手架控制器和视图。但当我运行grails应用程序并转到用户/列表url时,我会得到错误
没有方法的签名:packagename。User.list()适用于参数类型:()值:[]可能的解决方案:list()、list(java.util.Map)、is(java.lang.Object)、wait()、lock()、find()
但当我在grails应用程序中使用该插件时(无需发布、打包),它运行良好。
问题是-我希望能够在没有应用程序的情况下测试grails插件控制器。我想我错过了一些配置。
看起来您没有安装Hibernate插件。默认情况下,应用程序会将它添加到BuildConfig.groovy
中,但插件则不会。你可以用grails install-plugin hibernate 2.0.1
安装它,它会把它添加到application.properties
中,这种方法可以在用户安装插件时防止它成为依赖项。
您也可以将其添加到BuildConfig.groovy
中,但一定要添加export = false
,除非您的插件确实需要Hibernate才能正常工作。如果它能与任何GORM实现(例如Mongo)一起工作,那么它就不应该被导出:
plugins {
build(":tomcat:$grailsVersion",
":hibernate:$grailsVersion",
":release:1.0.1") {
export = false
}
}