【问题标题】:Getting "unable to resolve class" exception when importing application domain objects into a plugin in grails将应用程序域对象导入 grails 中的插件时出现“无法解析类”异常
【发布时间】:2012-03-04 18:14:41
【问题描述】:
我正在使用 Grails 身份验证插件并尝试将插件中的域类添加到我的 GORM 中。使用“import com.grailsrocks.authentication.AuthenticationUser”导入它们时,我可以在我的应用程序中使用插件对象,但是在尝试从插件访问我的应用程序对象时出现“无法解析类”异常(我正在尝试使用域类“User”,我的导入命令是“import blap.User”——包名是 blap)。两个导入命令都在 shell 中工作,并且导入语句不会在 STS 中触发错误。
我是 grails 的新手,所以我可能做错了什么。但是,在这一点上,我的想法已经不多了,所以任何帮助都将不胜感激。谢谢!
活力
【问题讨论】:
标签:
grails
grails-plugin
grails-domain-class
【解决方案1】:
虽然我以前没有使用过 Grails 身份验证插件,但我认为您不应该修改插件类。一般来说,您应该在您的应用程序中扩展您想要修改的插件类并使用您的应用程序类。
实际上,通过阅读文档,您应该使用事件处理来修改插件行为。
来自plugin docs:
默认的 AuthenticationUser 域类是最小的。如果您想更改约束或添加字段(您可以考虑使用单独的类而不是额外的用户数据),您只需重新定义 onNewUserObject 事件并返回您自己的域类实例或围绕另一个身份验证数据库(如 LDAP)的类似包装器