grails - grails 3应用程序的插件中可能有不同的gorm版本吗?

标签 grails plugins gorm

我有一个grails 3应用程序,该应用程序大量使用了插件。其中一些插件提供域类。除非每个插件都具有相同的gorm版本,否则我的应用程序将无法启动。这对于本地开发的插件很烦人,但是对于使用第三方插件来说可能是一个重大问题。

stacktrace中有更多详细信息,但相关部分似乎是:

Caused by: org.grails.core.exceptions.GrailsRuntimeException: Failed to introspect class: class (my class name)
    at grails.core.ArtefactHandlerAdapter.isArtefact(ArtefactHandlerAdapter.java:129)
    at grails.core.DefaultGrailsApplication.addOverridableArtefact(DefaultGrailsApplication.java:772)
    at org.grails.plugins.AbstractGrailsPluginManager.registerProvidedArtefacts(AbstractGrailsPluginManager.java:310)

我目前使用的是带有GORM 6.1.3.RELEASE的Grails 3.2.8,但这也发生在gorm的其他不匹配版本中。

如果有更好的方法可以实现更大的目标,那么我的大目标是使用grails ehcache插件(当前版本为3.0.0.M1),该插件最低要求gorm6.1.x。在该插件github站点上的每次对话中,将gorm 6.1与grails 3.2.x一起使用都没有问题,尽管这不是默认设置。

是否可以使用提供域对象的插件来运行grails 3应用程序,而这些插件在其中具有不同的次要版本的gorm?

最佳答案

万一其他人遇到这个问题,答案基本上是“否”。

更长的答案是“只要不改变常规版本以非向后兼容的方式进行更改”,显然这经常发生。

这里有Graeme的一些评论:https://github.com/grails/grails-core/issues/10693但要总结一下:您必须在各个插件中使用相同版本的gorm,并确保您依赖的所有第三方插件都在同一版本上。至少只有提供域对象的插件才需要这样做!

关于grails - grails 3应用程序的插件中可能有不同的gorm版本吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44635366/

相关文章:

grails - Grails 2应用程序已移植到Grails 3-PooledConnection已关闭,已解决,但不确定为什么

grails - 调试 Grails 3.x 应用程序

jquery slider 在 ie8 及以下版本中不运行

为统一制作插件时,具有输入类型密码的 Android Native TextField 无法正常工作

grails - gorm-无法将对象保存到数据库

grails - GORM:可以查询州和县

grails - 使用用户名作为电子邮件,Spring Security UI 插件

c++ - QtPlugins 实现多个接口(interface)并转换为通用接口(interface)

hibernate - 避免在grails中加入表

grails 向 hasErrors 添加验证错误