我创建了一个带有“User”域的简单grails 2.0.1插件。创建脚手架控制器和视图。但是当我做grails run-app并转到用户/列表网址时,我收到了错误
没有方法签名:packagename.User.list()适用于参数类型:()values:[]可能的解决方案:list(),list(java.util.Map),is(java.lang.Object ),wait(),lock(),find()
但是当我在grails应用程序中使用插件(没有发布,打包)时,它工作正常。
问题是 - 我希望能够在没有应用程序的情况下测试grails插件控制器。我猜我错过了一些混淆。
答案 0 :(得分:3)
看起来您没有安装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
}
}