在Grails3应用程序的插件中是否可能有不同的gorm版本?

在Grails3应用程序的插件中是否可能有不同的gorm版本?,grails,plugins,gorm,Grails,Plugins,Gorm,我有一个大量使用插件的Grails3应用程序。其中一些插件提供域类。除非每个插件都有相同的gorm版本,否则我的应用程序不会启动。这对于本地开发的插件来说是一个麻烦,但对于使用第三方插件来说可能是一个重大问题 stacktrace中有更多细节,但相关部分似乎是: Caused by: org.grails.core.exceptions.GrailsRuntimeException: Failed to introspect class: class (my class name) at

我有一个大量使用插件的Grails3应用程序。其中一些插件提供域类。除非每个插件都有相同的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的其他不匹配版本中也会出现这种情况

如果有更好的方法来实现更大的目标,那么我的大目标就是使用GrailsEhcache插件(目前为3.0.0.M1),它至少需要gorm 6.1.x。根据该插件github站点上的对话,在grails 3.2.x中使用gorm 6.1没有问题,尽管这不是默认设置


有没有办法运行grails 3应用程序,使用提供域对象的插件,这些插件有不同的gorm次要版本?

如果其他人遇到这个问题,答案基本上是“没有”

较长的答案是“只要groovy版本以非向后兼容的方式改变,就不会改变”,显然这种情况经常发生

这里有一些来自Graeme的评论:但是总结一下:你必须在不同的插件中使用相同版本的gorm,并且还要确保你所依赖的任何第三方插件都使用相同的版本。这至少对于提供域对象的插件是必需的