gpt4 book ai didi

grails - GORM 无法认识到插件中的域类是 GORM 类

转载 作者:行者123 更新时间:2023-12-02 03:42:31 31 4
gpt4 key购买 nike

我正在尝试使用 Grails 项目作为插件,基本上将我的域类放在插件中,然后在多个 Grails 项目中使用它们。

我已经这样做了:

grails 创建应用程序网页

grails 创建应用程序插件

在两个项目的根目录中创建一个settings.gradle包括“插件”、“网络”

然后我向插件添加了 spring security,并使用 s2-quickstart 创建用户和角色域类,并向 Bootstrap.groovy 添加了一些默认用户。

单独启动插件项目不会显示任何问题。

现在我将插件添加为 Web 项目的依赖项:编译(':插件')这样我就可以从 Web 项目内的插件访问域类,它编译得很好。我将 spring 配置添加到 application.groovy,现在尝试使用 Web 项目内插件中的域类。

尝试这个,但是我的项目没有正确启动,它告诉我:

java.lang.IllegalStateException: Either class [htcommon.HtRole] is not a domain class or GORM has not been initialized correctly or has already been shutdown. If you are unit testing your entities using the mocking APIs

一旦我的代码尝试执行 new HtRole(...).save()

插件中的域类似乎不被识别为 GORM 类。

最佳答案

域不被识别为 GORM 类的问题是由于其中提供的构造函数造成的。这些构造函数是从 s2-quickstart 生成的,但应该删除(这是 spring-security-core 中的一个错误)。我删除了构造函数以及您使用它们的地方我使用了 map style default constructors 。然后我修复了您必须获取当前用户的调用。

The repaired source is in this repo on GitHub (patch-1分支正在工作,master是OP的原始损坏代码)

关于grails - GORM 无法认识到插件中的域类是 GORM 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35900094/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com